2014-12-04 140 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']);