【发布时间】:2015-03-13 17:10:37
【问题描述】:
我正在尝试制作一个简单的 Angular/Express 待办事项列表应用程序,但遇到了很多麻烦。它仍在工作中,但是当我在 localhost:3000 上运行以下代码时,我最终在网页上打印了 {{ thing }}。
我的文件路径是:
- 应用程序
- js
- app.js
- index.html
- js
- node_modules(这里有 angular、express 等)
- index.js
- package.json
这是我的 index.html 代码:
<!DOCTYPE html>
<html lang="en" ng-app='testApp'>
<head>
<meta charset="UTF-8">
<title>Angular-Express Test App</title>
<script type='text/javascript' src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.12/angular.min.js"></script>
<script type='text/javascript' src='js/app.js'></script>
</head>
<body ng-controller='TestCtrl'>
<table>
<thead>
<tr>
<td>Item</td>
<td>Remove</td>
</tr>
</thead>
<tbody>
<tr ng-repeat='item in items'>
<td>{{ item }}</td>
<td><a href="#"></a>Done?</td>
</tr>
</tbody>
</table>
</body>
</html>
这是我的 index.js 代码:
var express = require('express');
var app = express();
var http = require('http').Server(app);
var bodyParser = require('body-parser');
var jsonParser = bodyParser.json();
var urlencodedParser = bodyParser.urlencoded({ extended: false });
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 3000); //yes I plan to deploy to OpenShift
app.set('ipaddr', process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1");
app.get('*', function(req, res){
res.sendFile(__dirname + '/app/index.html', res);
});
http.listen(3000, function () {
'use strict';
console.log('Express server listening on IP: ' + app.get('ipaddr') + ' and port ' + app.get('port'));
});
还有 app.js:
angular.module('testApp', ['ngRoute'])
.controller('TestCtrl', [$scope, function ($scope) {
'use strict';
$scope.items = ["foo", "bar"];
}]);
这是我看到的屏幕截图,虽然其中确实没有太多我没有提到的内容...:http://puu.sh/gyhjT/684fa116f7.png
我花了很多时间试图找出问题所在,所以任何帮助都将不胜感激!
【问题讨论】:
-
打开浏览器控制台查看错误信息
-
jsfiddle.net/tjhack/mgf4ohq5/1 刚刚尝试过这个并且它有效。像以前的评论检查控制台一样,您可能在服务器端出现错误
-
你确定你的路径是正确的吗?好像你的控制器没有加载。我在这个 plunker 中尝试过:plnkr.co/edit/GIP5zAIPYDtB4LOJSBGK?p=preview 它可以工作......
-
Mido22 的解决方案对我有用。但是,在此之前,我在控制台中没有收到任何错误消息,即使在调试模式下通过 nodemon 也是如此,所以这很奇怪。
标签: javascript angularjs node.js express