我正在尝试使用grunt运行我的第一个项目。当我尝试在命令行中运行grunt时,我遇到了这样的错误/警告:
Traviss-MacBook-Pro-2:GRUNT Travis$ grunt compass
>> Local Npm module "grunt-contrib-jshint" not found. Is it installed?
>> Local Npm module "grunt-contrib-qunit" not found. Is it installed?
Warning: Task "compass" not found. Use --force to continue.
Aborted due to warnings.
我安装了jshint和qunit,所以我对于解决此问题的下一步操作感到迷茫。 非常感谢任何帮助,谢谢。
这是我的grunt.js文件
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
separator: ';'
},
dist: {
src: ['src/**/*.js'],
dest: 'dist/<%= pkg.name %>.js'
}
},
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
},
dist: {
files: {
'dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']
}
}
},
qunit: {
files: ['test/**/*.html']
},
jshint: {
files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'],
options: {
// options here to override JSHint defaults
globals: {
jQuery: true,
console: true,
module: true,
document: true
}
}
},
watch: {
files: ['<%= jshint.files %>'],
tasks: ['jshint', 'qunit']
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('test', ['jshint', 'qunit']);
grunt.registerTask('default', ['jshint', 'qunit', 'concat', 'uglify']);
};
答案 0 :(得分:1)
您可能没有在grunt任务表单中使用qunit和jshint的'grunt-contrib'模块。您应该可以查看npm ls | grep contrib
。
我建议你在项目中运行:
npm install grunt-contrib-jshint --save-dev
和
npm install grunt-contrib-qunit --save-dev
我会期望其他一些grunt.loadNpmTasks()
指定的模块也会窒息,所以我有点惊讶更多的错误没有发生。
对于“警告:任务”指南针“未找到”,gruntfile中没有“指南针”目标(正如qunit
,watch
等),所以这样做感。您可能要添加“指南针”任务以使用该名称执行操作,或者在命令行上指定另一个目标grunt
(或省略任何特定目标以执行默认['jshint', 'qunit', 'concat', 'uglify']
任务)。