2013-10-07 62 views
0

我試圖配置使用的咕嚕與gradle這個組合jshint,而我試圖運行,下面我的任務是,我面對配置jshint使用咕嚕和gradle這個

Loading "jshint.js" tasks...ERROR 
>> Error: Cannot find module 'jshint' 
>>  at Function.Module._resolveFilename (module.js:338:15) 
>>  at Function.Module._load (module.js:280:25) 
>>  at Module.require (module.js:364:17) 
>>  at require (module.js:380:17) 


No tasks specified, running default tasks. 
Running tasks: default 

我對着錯誤的錯誤 - > 加載 「jshint.js」 任務...錯誤

下面是我遵循的步驟

的package.json

{ 
    "name": "sample", 
    "version": "0.0.0", 
    "description": "sample project", 
    "main": "scripts/main.js", 
    "scripts": { 
    "test": "scripts/spec" 
    }, 
    "repository": "", 
    "author": "", 
    "license": "BSD", 
    "devDependencies": { 
    "grunt": "~0.4.1", 
    "grunt-contrib-jshint": "~0.6.0" 
    } 
} 

Gruntfile.js

module.exports = function(grunt) { 
    grunt.initConfig({ 
     jshint: { 
      files: ['gruntfile.js', 'vM/**/*.js'], 
      options: { 
      globals: { 
       jQuery: true, 
       console: true, 
       module: true 
      } 
      } 
     } 
    }); 

    grunt.loadNpmTasks('grunt-contrib-jshint'); 
    grunt.registerTask('test', 'jshint'); 
}; 

grunt.gradle

import org.apache.tools.ant.taskdefs.condition.Os 
import org.gradle.api.tasks.Exec 

def windows_source_dir = "C:\node_modules" 

task jshint(type: GruntTask) { 
    dependsOn = ['gruntLink'] 
    gruntArgs = "jshint" 
    workingDir 'src/main/webapp/' 
} 

task gruntLink(type: Exec) { 
    description = "Installs all Node.js dependencies defined in package.json" 
    if (Os.isFamily(Os.FAMILY_WINDOWS)) { 
    commandLine 'cmd', 'mklink /D windows_source_dir src/main/webapp/node_modules' 
    } else { 
    commandLine = ["ln", "-nfs", "/usr/local/lib/node_modules/grunt_modules", "src/main/webapp/node_modules"] 
    } 

} 

class GruntTask extends Exec { 
    private String gruntExecutable = Os.isFamily(Os.FAMILY_WINDOWS) ? "grunt.cmd" : "grunt" 

    String gruntArgs = "" 

    public GruntTask() { 
     super() 
     this.setExecutable(gruntExecutable) 
    } 

    public void setGruntArgs(String gruntArgs) { 
     this.args = "$gruntArgs".trim().split(" ") as List 
    } 
} 

回答

0

終於挖掘到我的問題後,我發現自己的解決方案

的錯誤,我所做的是 - >我拼寫錯誤Gruntfile.js的第一個字母是大寫,但我把它作爲小象下面

files: ['gruntfile.js', 'vM/**/*.js'], 
0

你有沒有在運行項目的根目錄npm install?您需要本地安裝JSHint才能運行Grunt任務。 :-)