Node JS和AngularJS - 找不到脚本 - 404

时间:2016-02-21 20:45:09

标签: angularjs node.js

我正在尝试构建一个简单的“Hello world”Node.js / AngularJS应用程序并且正在努力。我正在通过localhost运行应用程序,并努力弄清楚为什么HTML页面找不到我的脚本文件。

server.js

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

app.set('port', (process.env.PORT || 5000));

app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/app');
app.set('view engine', 'ejs');

app.get('/', function(request, response) {
  response.render('index');
});

app.listen(app.get('port'), function() {
  console.log('Node app is running on port', app.get('port'));
});

服务器正在成功运行。 angularJS应用程序如下:

index.ejs

<!DOCTYPE html>

<html>

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script>
    <script src="app.js"></script>
    <script src="Controllers/home.ctrl.js"></script>

</head>

<body ng-app>

    <div ng-view></div>

</body>

</html>

app.js

angular.module("app", ["ngRoute"])
    .config(function($routeProvider){
        $routeProvider
            .when("/", {
                controller: "HomeController",
                templateUrl: "app/Views/home.html"
            });
    });

home.html home.ctrl.js

文件夹结构:

  • 网络服务器
    • index.js
    • 应用
      • 控制器
      • 浏览
      • app.js
      • index.ejs

我在控制台中收到的错误:

HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
GET - http://localhost:5000/app.js
HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
GET - http://localhost:5000/Controllers/home.ctrl.js

1 个答案:

答案 0 :(得分:1)

问题在于:

<script src="app.js"></script>
<script src="Controllers/home.ctrl.js"></script>
<script src="app/app.js"></script>

您包含两个app.js,其中一个路径错误。也许你的意思是index.js

<强>更新

我在这里看到另一个问题:

app.use(express.static(__dirname + '/public'));

您提供的文件夹为public,但这些文件位于app