【发布时间】:2014-08-27 19:03:27
【问题描述】:
我注意到 yo angular 会生成一个包含所有指令的 GruntFile,但通常不包含 grunt.loadNpmTasks('<package>') 语句,这可能表示也可能不表示全局安装的包 (?)。
那么,将额外的 NPM 包添加到 yo-angular 生成的项目中的正确方法是什么?
【问题讨论】:
标签: node.js gruntjs npm yeoman yeoman-generator
我注意到 yo angular 会生成一个包含所有指令的 GruntFile,但通常不包含 grunt.loadNpmTasks('<package>') 语句,这可能表示也可能不表示全局安装的包 (?)。
那么,将额外的 NPM 包添加到 yo-angular 生成的项目中的正确方法是什么?
【问题讨论】:
标签: node.js gruntjs npm yeoman yeoman-generator
yo angular generator 使用load-grunt-tasks,这可以防止 gruntfile 变得臃肿:
此模块将读取 package.json 中的 dependencies/devDependencies/peerDependencies 和 加载与提供的模式匹配的 grunt 任务。
生成器使用load-grunt-tasks,但没有提供模式
require('load-grunt-tasks')(grunt);
这意味着它只会尝试加载您通过 npm 安装的所有内容(使用模式 grunt-*,有关更多信息,请参阅下面的 cmets)。
长话短说,只需 npm install 即可(安装 grunt 任务时应使用 --save-dev 选项,以自动将其移动到 devDependencies)
$ npm install your-grunt-task --save-dev
【讨论】:
grunt-?
var pattern = arrayify(options.pattern || ['grunt-*']); 所以默认模式是grunt-*
grunt- 开头的插件,通常应该是 grunt-plugins。我不知道任何不以grunt- 开头的插件,或任何以grunt- 开头的非grunt-plugins