npm jshint安装和工作由Grunt&的NodeJS

时间:2015-10-15 07:34:12

标签: javascript node.js gruntjs npm jshint

我在Windows上使用npm包安装了node.js.
我在D盘中有一个项目为D:> projectD
我试图与SASS,concat等一起运行jshint。一切正常,但在jshint上得到错误:

Local npm module "jshint" not found.Is it installed?
Warning: Task 'jshint' not found. Use --force to continue.

对于安装jshint,使用以下命令:

npm install -g jshint
D:>projectD>npm install --save-dev jshint

Gruntfile.js

jshint:{
 all: ['<%= meta.srcPath %>engine/js/myjs1.js']
},

//plugin declaration
grunt.loadNpmTasks('jshint');

// Default task
grunt.registerTask('default', ['concat','sass','jshint']);

的package.json

{
  "name": "Test-Project",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-concat": "~0.1.3",
    "grunt-sass": "^1.0.0",
    "jshint": "^2.8.0"
  }
}

有人可以帮助我解释为什么我无法使用jshint以及grunt中的其他任务吗?

1 个答案:

答案 0 :(得分:1)

实际上你的Gruntfile错了。 你想配置Grunt。因此,您需要使用grunt.initConfig

初始化配置

所以在你的情况下

grunt.initConfig({
  jshint: {
    all: ['<%= meta.srcPath %>engine/js/myjs1.js']
  }
});

我相信该模块是您需要的grunt-contrib-jshint模块。 所以你的loadNpmTask将是grunt.loadNpmTasks('grunt-contrib-jshint'); 而且,registerTask只需要包含jshint,因为您只需加载和配置jshint

您错过了module.exports = function(grunt) { }。您需要将配置导出为函数。

总而言之,您的配置应如下所示

module.exports = function(grunt) {

  grunt.initConfig({
    jshint: {
        all: ['<%= meta.srcPath %>engine/js/myjs1.js']
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-jshint');

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

};