2014-12-04 143 views
0

经过几次尝试,我没有想出这是错误。 Grunt找不到我从npm安装的任何任务。这是我非常基本的package.json:咕噜不能找到任务

{ 
    "name" : "MyProject", 
    "version" : "0.0.1", 
    "dependencies" : { 
     "grunt" : "~0.4.5", 
     "grunt-contrib-watch" : "~0.6.1", 
     "grunt-contrib-compass" : "~1.0.1", 
     "grunt-contrib-uglify" : "~0.6.0", 
     "matchdep" : "~0.3.0" 
    } 
} 

我运行npm install后,我得到了node_modules根目录文件夹里面。

我创建用于测试看起来像这样一个基本的gruntfile.js:

module.exports function(grunt) { 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
     grunt.initConfig({ 
      uglify :{ 
       my_target : { 
        files : { 
         '/js/script.js' : ['/components/js/script.js'] 
        } //files 
       } //my_target 
      } //uglify 
     }) //initConfig 
} // exports 

现在后,我从终端移动到我的文件夹中运行此命令grunt uglify

这是输出:

/var/www/html/lp/gruntfile.js:1 
(exports, require, module, __filename, __dirname) { module.exports function(g 
                    ^^^^^^^^ 
Loading "gruntfile.js" tasks...ERROR 
>> SyntaxError: Unexpected token function 
Warning: Task "uglify" not found. Use --force to continue. 

Aborted due to warnings. 

什么我做错了任何想法?我实际上是在一个基于Ubuntu的系统上。 在此先感谢。

回答

0

你错过了=module.exports。下面是你的Gruntfile.js的清理版本:

module.exports = function(grunt) { 
    grunt.initConfig({ 
     pkg: grunt.file.readJSON('package.json'), 
     meta: { 
      version: '0.1.0' 
     }, 
     uglify: { 
      my_target: { 
       files: { 
        '/js/script.js': ['/components/js/script.js'] 
       } //files 
      } //my_target 
     } //uglify 
    }); //initConfig 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
}; // exports 
+0

Waaaa,谢谢你的队友。 – TheBluerock 2014-12-04 21:57:16

+0

@ TheBluerock乐于助人。如果这完成了您的问题,请点击左侧的复选标记以接受答案。如果只有让其他人知道这个问题已经完成。 – Jack 2014-12-05 19:41:07

0

尝试registerting任务:

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

或潜在:

grunt.registerTask('uglify', ['uglify']);