javascript - Eclipse 中 Node Express 项目的 javascript 文件中未定义“Angular”

标签 javascript eclipse angularjs node.js express

我想使用 Angular.js 作为在 Eclipse IDE 中创建的 Node Express 项目的前端。每当我尝试在单独的 js 文件中移动 Angular Controller 时,我都会收到 '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'));
});

最佳答案

您的问题是您正在尝试获取尚未定义的应用程序,您需要先定义它。

定义用途

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

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

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

关于javascript - Eclipse 中 Node Express 项目的 javascript 文件中未定义“Angular”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28804411/

相关文章:

java - 如何在 Eclipse 中编辑的行上运行 checkstyle?

javascript - 如果输入字段为空,则隐藏带 Angular div

javascript - 在更改时对 react 选择或 react 测试库进行 Jest 模拟,不会在目标更改时触发

javascript - 如何将 Google 标签管理器与 React Native 应用程序集成?

javascript - 如何在菜单项悬停时更改正文背景图像?

每次运行同一个 Scala 程序时,Eclipse 都会创建多个运行配置

java - 如何确保方法不被java编译器内联?

javascript - ExtJs 中的事件

angularjs - 在 Controller 而不是 View 中访问 Angular 路由范围属性 $resolve

html - angularjs:如何从 Controller 模型注入(inject) HTML 代码