Javascript AngularJS“;引用错误:未定义窗口";在NodeJS应用中

Javascript AngularJS“;引用错误:未定义窗口";在NodeJS应用中,javascript,angularjs,node.js,pug,Javascript,Angularjs,Node.js,Pug,我正在尝试在带有express 4和jade的nodeJS应用程序中使用Angular模块 因此,我为它安装了npm angular--save和var angular=require('angular')在app.js中 但它抛出了一个错误 这里是模块 ul.sidebar-nav(ng-controller="HeaderController") // li.sidebar-brand li(ng-class="{ active: isActive('/dashboard')

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

因此,我为它安装了
npm angular--save
var angular=require('angular')在app.js中

但它抛出了一个错误

这里是模块

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环境中没有窗口对象。窗口有一个“等价物”。在这里你可以读到它。Angular用于客户端开发。您无法在服务器端运行它

服务器端,在node.js应用程序中,您希望angular做什么?您的编辑似乎与我在评论中提出的问题无关。您添加的一部分代码似乎是一些服务器端代码,用于生成带有angular expando属性的HTML,这些属性将发送到浏览器。另一个似乎是一些在浏览器中运行客户端的代码。同意你的看法,我从你的评论中得到了一些想法。Thadam@DININDU-请共享您的解决方案。@SaranshKejriwal只需将js文件导入html模板,如下所示:)
function HeaderController($scope, $location) 
{ 
    $scope.isActive = function (viewLocation) { 
        return viewLocation === $location.path();
    };
}