Grunt - 未找到npm模块

时间:2014-09-24 12:30:25

标签: node.js gruntjs

我是Grunt的新手,我在使用新插件设置项目时遇到了问题。

到目前为止,我有:

  1. 全球安装了grunt-cli
  2. 全局安装grunt-init
  3. 从GIT存储库下载了gruntfile模板
  4. 创建了一个新目录' test'并导航到终端
  5. 中的目录
  6. 从模板(grunt-init gruntfile)
  7. 创建了一个新的grunt项目
  8. 安装了项目依赖项(npm install)
  9. 这一切都很棒,但是我想使用不同的uglify插件,所以仍然在'测试'目录,我跑:

    npm install uglify-js --save-dev
    

    由于我没有使用全局标志,插件会按预期下载到test / node_modules目录,存在于test / node_modules / uglify-js。 package.json文件已使用附加依赖项进行更新:

    "uglify-js": "^2.4.15"
    

    然后我编辑Gruntfile.js,添加

    grunt.loadNpmTasks('uglify-js');
    

    并改变

    grunt.registerTask('default', ['jshint', 'qunit', 'concat', 'uglify']);
    

    grunt.registerTask('default', ['concat', 'uglify-js']);
    

    我跑

    npm install
    

    确保下载所有依赖项,但现在当我运行grunt任务时出现此错误:

    Local Npm module "uglify-js" not found. Is it installed?
    Warning: Task "uglify-js" not found. Use --force to continue.
    

    任何人都知道我做错了什么?

    Mac OS X 10.8.5,节点v0.10.32

2 个答案:

答案 0 :(得分:2)

如果您想使用UglifyJS whit grunt,则应使用grunt-contrib-uglify。安装时使用:

npm install grunt-contrib-uglify --save-dev

Gruntfile.js

中启用它
grunt.loadNpmTasks('grunt-contrib-uglify');

并运行你的任务:

grunt uglify

有关详细信息,请参阅docs

答案 1 :(得分:1)

我在Windows 7上遇到了类似的问题。我通过使用以下模块创建了一个package.json解决了这个问题。

"grunt": "~0.4.5",
"grunt-contrib-jshint": "~0.10.0",
"grunt-contrib-nodeunit": "~0.4.1",
"grunt-contrib-uglify": "~0.5.0"

运行npm install,它开始在该目录中工作。