AngularJS "ReferenceError: window is not defined" in NodeJS Application

AngularJS "ReferenceError: window is not defined" in NodeJS Application

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

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

但是报错

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 环境中没有 window 对象。 window 有一个 "equivalent"。您可以在这里阅读 DOC for Global。 Angular 用于客户端开发。您无法在服务器端 运行 它。