Angularjs 未定义在节点给定窗口中使用require(';angular';)
所以我对node是个新手,但我知道了如何安装node_模块。我想弄明白的是如何在代码中正确地包含“角度” 因此,在新的express 4加速版中,我做到了:Angularjs 未定义在节点给定窗口中使用require(';angular';),angularjs,node.js,express,Angularjs,Node.js,Express,所以我对node是个新手,但我知道了如何安装node_模块。我想弄明白的是如何在代码中正确地包含“角度” 因此,在新的express 4加速版中,我做到了: npm install --save angular 然后我进入routes/index.js并添加了require('angular'): 但当我启动节点时,会出现一个错误,上面写着: ReferenceError: window is not defined at Object.<anonymous> (/User
npm install --save angular
然后我进入routes/index.js
并添加了require('angular')
:
但当我启动节点时,会出现一个错误,上面写着:
ReferenceError: window is not defined
at Object.<anonymous> (/Users/al/Projects/node/podcastsearch/podcast/node_modules/angular/angular.js:26307:4)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/al/Projects/node/podcastsearch/podcast/node_modules/angular/index.js:1:63)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
ReferenceError:未定义窗口
反对。(/Users/al/Projects/node/podcastsearch/podcast/node_modules/angular/angular.js:26307:4)
在模块处编译(Module.js:460:26)
在Object.Module.\u extensions..js(Module.js:478:10)
在Module.load(Module.js:355:32)
在Function.Module.\u加载(Module.js:310:12)
at Module.require(Module.js:365:17)
根据需要(module.js:384:17)
反对。(/Users/al/Projects/node/podcastsearch/podcast/node_modules/angular/index.js:1:63)
在模块处编译(Module.js:460:26)
在Object.Module.\u extensions..js(Module.js:478:10)
包含angular的正确方式是什么?angular是客户端幻灯片脚本库。Node JS需要加载节点模块,Angular不是节点模块 在HTML页面中,您应该执行以下操作:
<html>
<head>
<title>My Angular App!</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-app="flapperNews" ng-controller="MainCtrl">
<div>
{{test}}
</div>
</body>
</html>
我的角度应用程序!
{{test}}
更新:
根据评论。角模
获取angular js文件并将其保存在节点模块文件夹中。Angular仍然是一个客户端库,您需要在HTML中添加一个脚本标记来使用Angular。您不应该在节点代码中要求它。请检查该链接中给出的样本
否则,您可以考虑在客户端使用require js、head js、browserify等使用webpack版本3.4.1更新AnujYadav的答案: 安装角度:
npm install angular --save-dev
配置(在webpack.Config.js
文件中):
在html页面中:
<script src="/{your_path}/angular.js"></script>
<script>
// you can use 'angular' now
</script>
//现在可以使用“角度”了
我阅读了angular npm页面,它说我可以通过脚本或require(“angular”)将其包括在内。我完全知道angular是客户端。我很好奇为什么模块页面上说它可以通过require()@allencoded使用。你可以在客户端脚本中使用类似的Browserify来使用require()
。啊,感谢brad,这就把它清除了。我知道angular是一个客户端库,只是对require()了解得不够。我知道我可以通过在html中使用node_modules/angular/angular.js来包含它,但我想做spiffy require()
module.exports = {
entry: {
angular: path.resolve(__dirname, './node_modules/angular/angular')
},
output: {
...
},
module: {
...
}
};
<script src="/{your_path}/angular.js"></script>
<script>
// you can use 'angular' now
</script>