2016-04-03 86 views
0

这里是我的项目中的文件/文件夹都在同一个文件夹中。Angular html文件找不到JS控制器[Node.js/Angular]

该项目的Github回购:https://github.com/JohnsCurry/learnAngular 只是为了证明他们都在同一个目录。对不起,我没有package.json文件。唯一要安装的是明示的。我做了npm install --save express。所以我不知道为什么package.json文件没有显示出来。

我试过这个没有服务器运行的相同的确切结构(只是静态HTML和JS文件客户端只)和13.html文件找到controller13.js文件就好了。当我运行Node.js时,它不起作用。

我的错误:

GET http://localhost:3000/controller13.js localhost/:8 angular.js:38 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/ $injector/modulerr?p0=mainApp&p1=Error%3…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381)

因此,它不能找到某种原因controller13.js文件,我假定这就是为什么我得到了$injector错误。

13.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>AngularJS | Hands On!</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular-route.js"></script> 
    <script src="controller13.js"></script> 
</head> 
<body ng-app="mainApp" ng-controller=""> 
    <div ng-view></div> 
</body> 
</html> 

controller13.js

var app = angular.module('mainApp', ['ngRoute']); 

app.config(function($routeProvider) { 
    $routeProvider 
    .when('/', { 
    templateUrl: '/page13.html' 
    }) 
    .when('/helloUser', { 
    templateUrl: '/hello13.html' 
    }) 
    .otherwise({ 
    redirectTo: '/' 
    }); 
}); 

app.js

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

app.get('/', function (req, res) { 
    res.sendfile(__dirname + '/13.html'); 
}); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 
+2

您忘记了确认静态文件夹。 app.use(express.static(__ dirname +'/ public')); – shanhaichik

+0

谢谢......我现在得到了一个不同的错误,但我认为这完全是另一回事。现在我的问题是我的Angular代码很糟糕。对于noobie问题抱歉。 –

回答

1

你混合角1.3.14和角路由1.4.4。修正版本并查看。