NodeJS应用程序中的AngularJS“ReferenceError:window is not defined”

我正在使用express 4和jade在nodeJS应用程序中使用Angular模块。

所以,因为它我做了npm install angular --savevar angular = require('angular'); 在app.js中

但它是抛出一个错误

 e:\Project\node_modules\angular\angular.js:29016 })(window, document); ^ ReferenceError: window is not defined at Object.<anonymous> (e:\Project\node_modules\angular\angular.js:29016:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (e:\Project\node_modules\angular\index.js:1:63) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (e:\Project\app.js:11:15) at Module._compile (module.js:456:26) 

原因是这样的。

我要在anjularjs中设置活动状态到我的侧边栏。 这里我的玉文件

 ul.sidebar-nav(ng-controller="HeaderController") // li.sidebar-brand li(ng-class="{ active: isActive('/dashboard')}") a(href='/dashboard') Dashboard li(ng-class="{ active: isActive('/cases')}") a(href='/cases') Cases li(ng-class="{ active: isActive('/contacts')}") a(href='/contacts') Contacts li(ng-class="{ active: isActive('/documents')}") a(href='/documents') Documents li(ng-class="{ active: isActive('/calendar')}") a(href='/calendar') Calendar li(ng-class="{ active: isActive('/timeline')}") a(href='/timeline') Timeline 

在这里模块

 function HeaderController($scope, $location) { $scope.isActive = function (viewLocation) { return viewLocation === $location.path(); }; } 

在nodejs环境中没有窗口对象。 有一个“等效”的窗口。 在这里,您可以阅读关于全球的DOC 。 Angular是为客户端开发的。 你不能在服务器端运行它。