NodeJS应用程序中的AngularJS“ReferenceError:window is not defined”
我正在使用express 4和jade在nodeJS应用程序中使用Angular模块。
所以,因为它我做了npm install angular --save
和var 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是为客户端开发的。 你不能在服务器端运行它。