看配置文档看得头都要炸了,敢不敢再烦点。
- grunt.loadNpmTasks('grunt-contrib-watch');
监控文件变化,如果文件发生追加,更新或者删除的时候,执行预定义任务。 比如:
watch: {
server: {
files: [".nodemon"],
options: {
livereload: true
}
}
}
- grunt.loadNpmTasks('grunt-mocha-test');
Mocha 的插件: 比如:
mochaTest: {
server: {
src: ['test/server/**/*.js']
}
}
- grunt.loadNpmTasks('grunt-karma');
Karma 的插件 比如:
karma: {
unit: {
configFile: 'test/client/karma.conf.js'
}
}
- grunt.loadNpmTasks('grunt-protractor-runner');
Protractor 的插件 比如:
protractor: { e2e: { configFile: "test/client/protractor.conf.js", keepAlive: false } }
- grunt.loadNpmTasks('grunt-nodemon');
nodemon 的插件,用来简化工作流配置。 比如:
nodemon: {
dev: {
script: 'app.js',
options: {
nodeArgs: ['--debug', '--harmony'],
ignore: ['node_modules/**', 'client/**'],
callback: function (nodemon) {
fs.writeFileSync('.nodemon', 'started');
nodemon.on('log', function (event) {
console.log(event.colour);
});
nodemon.on('restart', function () {
setTimeout(function () {
fs.writeFileSync('.nodemon', 'restarted');
}, 250);
});
}
}
}
}
- grunt.loadNpmTasks('grunt-concurrent');
可以同时执行多个 Grunt 任务。 比如:
concurrent: {
tasks: ['nodemon', 'watch'],
options: {
logConcurrentOutput: true
}
}
- grunt.loadNpmTasks('grunt-env');
把 ENV 作为任务配置。 比如:
grunt.registerTask('test', ['env:test', 'mochaTest:server', 'karma:unit']);
- grunt.loadNpmTasks('grunt-contrib-jshint');
美化JShint报告。 比如:
jshint: {
options: {
reporter: require('jshint-stylish')
},
target: ['file.js']
}
- require('load-grunt-tasks')(grunt);
加载所有 grunt-* 的任务。 比如使用 yo 新建 angular 工程的时候,在 node_modules 下安装了许多模块,
"grunt-autoprefixer": "~0.4.0",
"grunt-bower-install": "~1.0.0",
"grunt-concurrent": "~0.5.0",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-connect": "~0.5.0",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-cssmin": "~0.7.0",
"grunt-contrib-htmlmin": "~0.1.3",
"grunt-contrib-imagemin": "~0.3.0",
"grunt-contrib-jshint": "~0.7.1",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-watch": "~0.5.2",
"grunt-google-cdn": "~0.2.0",
"grunt-newer": "~0.6.1",
"grunt-ngmin": "~0.0.2",
"grunt-rev": "~0.1.0",
"grunt-svgmin": "~0.2.0",
"grunt-usemin": "~2.0.0",
那么使用上面的将会一把全加载。而无需挨个的 loadNpmTasks。
- require('time-grunt')(grunt);
显示 Grunt 任务执行的时间。