AngularJS" ReferenceError:窗口未定义"在NodeJS应用程序中

时间:2015-12-23 10:13:10

标签: javascript angularjs node.js pug

我尝试在带有快速4和jade的nodeJS应用程序中使用Angular模块。

因此,我在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();
    };
}

1 个答案:

答案 0 :(得分:1)

在nodejs环境中没有窗口对象。有一个等同的&#34;对于窗口。在这里你可以阅读它DOC for Global。 Angular用于客户端开发。您无法在服务器端运行它。