我正在关注egghead.io上的课程,试图学习Angular。本课是关于$ http的,出于某种原因,我无法运行基本的Expressjs/Angular应用程序。Express/AngularJs“角度未定义”
课程链接:https://egghead.io/lessons/angularjs-http
这里是我的目录stucture:
app.js
public/
index.html
main.js
package.json
node_modules/
bower_components/
这里是我的文件:
公共/ index.html的
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="utf-8">
<title>Egghead Videos</title>
<link rel="stylesheet" href="../vendor/foundation.min.css">
</head>
<body ng-app="app" ng-controller="AppCtrl as app">
<input type="text" ng-model="app.person.firstName" />
<input type="text" ng-model="app.person.lastName" />
<input type="button" ng-click="app.addPerson(app.person)" />
<ul>
<li ng-repeat="person in app.people">
{{person.firstName}} {{person.lastName}}
</li>
</ul>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>
</body>
</html>
app.js
var express = require('express');
var http = require('http');
var cors = require('cors');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(cors());
app.set('port', 3000);
app.use(express.static(__dirname + '/public'));
app.use(express.static(__dirname + '/bower_components'));
var data = [
{"firstName": "Jeff", "lastname": "Winger"},
{"firstName": "Troy", "lastname": "Barnes"},
{"firstName": "Britta", "lastname": "Perry"},
{"firstName": "Abed", "lastname": "Nadir"}
];
app.get('/users', function(req, res) {
res.send(data);
});
app.post('/users', function(req, res) {
res.send(req.body);
});
公共/ main.js
var app = angular.module("app", []);
app.controller("AppCtrl", function($http) {
var app = this;
$http.get("http://localhost:3000/users")
.success(function(data) {
app.people = data;
})
app.addPerson = function(person) {
$http.post("http://localhost:3000/users", person)
.success(function(data) {
app.people = data;
})
}
})
的package.json
{
"name": "users-app",
"description": "users test app",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "latest",
"body-parser": "*",
"cors": "*"
}
}
所以我做了基于该评论最后一次了一些变化,但它仍然没有工作。
要运行它,我在命令行输入“node app.js”。这是正确的,还是应该键入节点“public/main.js”来运行应用程序?我对这部分有点困惑。
当我输入“node app.js”时,没有任何反应,浏览器说它不能在本地主机上连接。当我输入“node public/main.js”时,它会显示“未定义角度”。
任何想法?
确保' “../供应商/ angular.js”'存在。这可能是 – Mritunjay
你缺少'app.listen(3000);'in app.js的原因。然后你可以连接到本地主机:3000 – noj