(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)
    })
}

 

posted on 2021-03-03 18:09  phantom_yy  阅读(257)  评论(0)    收藏  举报