Eclipse中的Node Express Project的JavaScript文件中没有定义'angular'

我想在Eclipse IDE中创buildNode Express Project中使用Angular.js作为我的前端。 每当我尝试移动我的angular度控制器在单独的js文件中我得到'angular' is not defined ,也在HTML文件中Cannot find module with name AngularApp. 是我收到的错误。

如何在Eclipse IDE的Node Express项目中使用不同的JavaScript文件中的angular度脚本代码?


这是我到目前为止:

Angularapp.html

 <!doctype html> <html ng-app = "AngularApp"> <head> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script> <title>Login</title> </head> <body> <h1>Login</h1> <h2>Welcome!</h2> <div ng-controller="AngularController"> Username: <input type="text" ng-model="usrname" value="1" /> <br /> Password: <input type="text" ng-model="password" value="2" /> <br /> <div> <br /> <button type="button" ng-model="login" ng-click="signIn()">Login</button> </div> <script src="./routes/AngularApp.js"></script> </div> </body> </html> 

AngularApp.js

 var usrname, paswd; var AngularApp = angular.module('AngularApp'); function AngularController($scope, $http, $location, $window) { $scope.signIn = function() { usrname = $scope.usrname; paswd = $scope.password; var req = { method : 'POST', url : 'http://localhost:2222/login', data : { "username" : usrname, "password" : paswd } } $http(req).success(function(response) { //alert(JSON.stringify(response)); if (response.login === "Success") { $window.location = '/successLogin/'+response.username; //req.url = '/successLogin/'+response.username; } else { $window.location = '/failLogin'; //req.url = '/failLogin'; } }).error(function(error) { alert("Error"); }); }; } AngularApp.controller('AngularController', AngularController); 

app.js

 /** * Module dependencies. */ var express = require('express') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path'); var app = express(); // all environments app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); // development only if ('development' == app.get('env')) { app.use(express.errorHandler()); } app.get('/', routes.index); app.get('/users', user.list); http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); }); 

你的问题是,你正试图得到你还没有定义的anugular应用程序,你需要先定义它。

定义使用

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

获取已经定义的应用程序使用

 var AngularApp = angular.module('AngularApp');