【问题标题】:Adding additional NPM packages to a yo angular generated project将额外的 NPM 包添加到 yo angular 生成的项目中
【发布时间】:2014-08-27 19:03:27
【问题描述】:

我注意到 yo angular 会生成一个包含所有指令的 GruntFile,但通常不包含 grunt.loadNpmTasks('<package>') 语句,这可能表示也可能不表示全局安装的包 (?)。

那么,将额外的 NPM 包添加到 yo-angular 生成的项目中的正确方法是什么?

【问题讨论】:

    标签: node.js gruntjs npm yeoman yeoman-generator


    【解决方案1】:

    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-*
    • 这意味着它不会加载通过 npm 安装的所有内容,只会加载 grunt 插件。
    • 是的,它只加载 namegrunt- 开头的插件,通常应该是 grunt-plugins。我不知道任何不以grunt- 开头的插件,或任何以grunt- 开头的非grunt-plugins
    • 你说它会加载所有用npm安装的东西,非grunt包也可以用npm安装,所以它不会加载那些。我建议不要说“所有”,而是说“所有 grunt 插件”。
    猜你喜欢
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2019-12-10
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多