'angular'未在 Eclipse 中 Node Express Project 的 javascript 文件中定义



我想在Eclipse IDE中创建Node Express项目时使用Angular.js作为前端。每当我试图在单独的js文件中移动角度控制器时,我都会得到'angular' is not defined,在html文件Cannot find module with name AngularApp.中也会收到错误。

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


以下是我目前所拥有的:

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');

最新更新