具有Angular的Nodejs / Express - 404错误

时间:2016-09-02 16:40:59

标签: javascript angularjs node.js

我一直在尝试学习MEAN堆栈,并希望做一个应用程序来测试它。目的是让Angular在HTML中显示一个静态变量(在本例中为'hello'),我似乎无法在我的控制器中显示我的$ scope变量,在我的浏览器上看了开发人员控制台我看到'GET 127.0.0.1:3000/app.js 404 not found'。

这是我的节点服务器使用express:

var express = require('express');
app = express();

app.get('/', function(req, res){

        res.sendFile(__dirname + '/views/index.html');
});



app.listen(3000, function() {
        console.log('I\'m listening on port 3000...');
});

这是我的index.html文件(/ views中的目录):

 <!DOCTYPE html>
<html ng-app="myModule">
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/
 angular.min.js"></script>
    <script type="text/javascript" src="app.js"></script>
</head>

<body>
<h1>Sucess!</h1>

        <div ng-controller="myController">
                <p>Angular test: {{ message }}</p>
        </div>
</body>

这是我的app.js文件,包含我的模块和控制器(也在/ views中):

var myApp = angular.module('myModule', []);

    myApp.controller('myController', ['$scope',
function($scope) {

    $scope.message = 'hello';

}]);

如果有人能提供帮助,我将非常感激!

1 个答案:

答案 0 :(得分:3)

您必须提供所有文件,例如使用express.static,而不仅仅是index.html

var express = require('express');
app = express();

app.use(express.static('views'));

app.listen(3000, function() {
    console.log('I\'m listening on port 3000...');
});