这是我的gruntfile.js
var fs = require("fs"),
browserify = require("browserify"),
pkg = require("./package.json");
module.exports = function(grunt) {
grunt.initConfig({
mochaTest: {
test: {
options: {
style: 'bdd',
reporter: 'spec'
},
src: ['test/unit/*.js']
}
},
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: "/*\n" + grunt.file.read('LICENSE') + "*/"
},
dist: {
files: {
'<%=pkg.name%>-<%=pkg.version%>.min.js': ['<%=pkg.name%>-<%=pkg.version%>.js']
}
}
}
});
grunt.registerTask('build', 'build a browser file', function() {
var done = this.async();
var outfile = './brain-' + pkg.version + '.js';
var bundle = browserify('./browser.js').bundle(function(err, src) {
console.log("> " + outfile);
// prepend license
var license = fs.readFileSync("./LICENSE");
src = "/*\n" + license + "*/" + src;
// write out the browser file
fs.writeFileSync(outfile, src);
done();
});
});
grunt.registerTask('test', 'mochaTest');
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-contrib-uglify');
};
当我在终端中运行grunt时 - 这是错误
Warning: Task "default" not found. Use --force to continue. Aborted due to warnings.
添加--force后显示:
Warning: Task "default" not found. Used --force, continuing. Done, but with warnings.
4 回答
首先,您需要了解grunt命令的工作原理
您在Gruntfile.js中定义/注册任务
Thenyou从命令提示符调用该任务
从下面的grunt文件中注册了一个任务
然后,您可以通过调用将运行该任务的
grunt build
来调用该任务 . 当你只运行grunt
时,它会查找一个名为default
的任务与您的grunt文件一样,没有定义默认任务,命令失败 .
gruntfile中没有名为“default”的任务 . 您是否尝试运行构建任务?
如果是这样,请替换此行:
grunt.registerTask('build', 'build a browser file', function() { ...
有了这条线
grunt.registerTask('default', 'build a browser file', function() { ...
Tasks have to be registered in grunt before they can be executed .
您已经在grunt中注册了构建任务,
这可以通过调用
grunt build
来执行 .当您执行
grunt
时,默认情况下,它会查找应该注册的名为default
的任务 .因此,注册
default
任务(与构建任务相同)您还可以将第三个参数作为已注册任务的数组传递,以便在运行
grunt
时执行该操作 .现在,当您执行
grunt
时,所有这些任务将按顺序执行 .请注意,tasks数组中的每个任务都应该是 registered ,使用
grunt.registerTask
.您忘了添加默认任务 .
在“grunt.registerTask('test','mochaTest')之后添加以下行;”线 .
此任务将同时运行'test'和'build' . 当没有任何参数运行“grunt”时 .
有关详细信息,请参阅grunt document on task .