(1)创建一个 package.json
yarn init --yes // --yes 跳过会话,直接通过默认值生成 package.json // yarn init --yes # 简写 -y
(2)添加Grunt模块
yarn add grunt
(3)添加gruntfile文件
code gruntfile.js
gruntfile.js
// Grunt的入口文件 // 用于定义一些需要Grunt自动执行的文件 // 需要导出一个函数 // 此函数接收一个grunt的形参,内部提供一些创建任务时可以用到的API // registerTask注册任务 // 有两个参数,第一个参数可以指定任务名称,第二个参数指定任务函数(当任务发生时,自动执行的函数) module.exports = grunt =>{ grunt.registerTask('foo',() => { console.log('hello grunt~') }) } //命令行执行 yarn grunt foo
default为grunt的默认任务
module.exports = grunt =>{ //grunt的默认任务default grunt.registerTask('default',() => { console.log('default task~'); }) } //执行命令 yarn grunt
//default可以将多个任务连接到一起 module.exports = grunt =>{ grunt.registerTask('foo',() => { console.log('foo task~'); }) grunt.registerTask('test',() => { console.log('test task~'); }) grunt.registerTask('default',['foo','test']); }
(4)grunt执行异步任务(grunt代码默认支持同步模式,如果需要异步操作的话,必须使用this.async方法)
module.exports = grunt =>{ grunt.registerTask('async-task',function(){ const done = this.async() setTimeout(() => { console.log('async task working~'); done(); },1000) }) }

浙公网安备 33010602011771号