当使用
这是一个人为制造的例子。如果我这样做:
我可以使用以下命令:
然而,这个也可用,并且会执行
grunt.loadNpmTasks
时,一个grunt任务会自动在命令行中可用。这很有用,但有时,我希望这个任务是私有的,这样它就可以在Grunt文件中使用,但不会在命令行中可用。这是一个人为制造的例子。如果我这样做:
module.exports = function(grunt) {
grunt.initConfig({
clean: {
test: ['test'],
release: ['release']
},
});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.registerTask('build', 'Build the project.', function() {
console.log("building project");
});
grunt.registerTask('release', ['clean:release', 'build']);
};
我可以使用以下命令:
$ grunt release
然而,这个也可用,并且会执行
clean:release
和clean:test
两个任务:$ grunt clean
我不想那样做。我想控制可以从命令行调用的内容,因为如果用户直接调用某些任务或子任务,我可能没有预见到一些不良影响。
我考虑注册一个新的 clean
任务来替换主任务,然后在调用 clean
时选择要调用什么(或者根本不调用任何内容),但这并不好使,因为它不能调用原始的 clean
任务:
grunt.registerTask('clean', ['clean:release']);