【问题标题】:npm jshint installation and working by Grunt & nodejsnpm jshint 通过 Grunt 和 node js 安装和工作
【发布时间】:2015-10-15 07:34:11
【问题描述】:

我使用 npm 包在 Windows 上安装了 node.js。
我在 D 盘中有一个项目为 D:>projectD
我正在尝试将 jshint 与 SASS、concat 等一起运行。一切正常,但在 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']);

包.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"
  }
}

有人可以帮我解决为什么我不能在 grunt 中使用 jshint 和其他任务吗?

【问题讨论】:

    标签: javascript node.js gruntjs npm jshint


    【解决方案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']);
    
    };
    

    【讨论】:

      猜你喜欢
      • 2017-03-28
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-01
      相关资源
      最近更新 更多