所以我对节点完全不熟悉,但我想出了如何安装node_modules。我想弄清楚的是如何正确地包括' Angular'进入我的代码。
所以从一个新的快车4旋转我做了:
npm install --save angular
然后我进入了routes/index.js
并添加了require('angular')
:
var express = require('express');
var router = express.Router();
require('angular');
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
但是当我进行节点启动时,我收到一条错误消息:
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)
包含角度的正确方法是什么?
答案 0 :(得分:10)
Angular是客户端幻灯片脚本库。 Node JS需要加载节点模块,而Angular不是Node模块。
在您的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>
更新: 根据评论。角度模块 - https://www.npmjs.com/package/angular
为您获取角度js文件并将其保存在节点模块文件夹中。 Angular仍然是客户端库,您需要在HTML中添加脚本标记以使用angular。您不应该在节点代码中要求它。请检查该链接中给出的样本。
另外,您可以考虑在客户端使用require js,head js,browserify等
答案 1 :(得分:2)
使用webpack版本3.4.1更新@ AnujYadav
的答案:
安装角度:
npm install angular --save-dev
配置(在webpack.config.js
文件中):
module.exports = {
entry: {
angular: path.resolve(__dirname, './node_modules/angular/angular')
},
output: {
...
},
module: {
...
}
};
在html页面中:
<script src="/{your_path}/angular.js"></script>
<script>
// you can use 'angular' now
</script>