一、contrib-watch 插件的使用
1、安装 “grunt-contrib-watch ”插件命令(在终端进入到项目根目录执行)
npm install grunt-contrib-watch grunt-contrib-concat grunt-contrib-uglify --save-dev
2、在项目根目录下提供 watch 插件任务配置需要的 src 目录和源文件(源文件放置到 src 目录下)
mkdir src
3、在 Gruntfile.js 文件中对 watch 任务进行配置
// 包装函数module.exports = function (grunt) { // 任务配置,所有插件的配置信息 grunt.initConfig({ // 获取 package.json 的信息 pkg: grunt.file.readJSON('package.json'), // concat 插件的配置信息 concat: { options: { separator: ';', // 设置输出文件合并的字符 banner: '/*被合成的文件第一行内容说明文字信息*/', footer: '/*被合成的文件尾部内容说明文字信息*/', stripBanners: true // 去掉被合成的文件内容中的 /* */ 注释信息 }, // 具体任务配置 dist: { // 被合并的文件路径 src: ['src/zepto.js','src/jquery.js','src/swiper.js','src/commons.js'], // 被合成的文件路径 dest: 'dest/libs.js' } }, // uglify 插件的配置信息 uglify: { // 文件头部输出信息 options: { banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' }, // 具体任务配置 build: { // 源文件 src: 'dest/libs.js', // 目标文件 dest: 'dest/libs.min.js' } }, // watch 插件的配置信息 watch: { // 具体任务配置 scripts: { options: { spawn: true // 是否让所有 task 任务共享一个上下文环境,加快响应时间 }, files: ['src/*.js'], tasks: ['default'] } } }); // 加载指定插件任务grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); // 默认执行的任务grunt.registerTask('default', ['concat','uglify']);};
PS:watch 插件的配置有三项:
“options”中通过使用 spawn 属性来指定不论由 tasks 触发的任务是不是一个子进程,当此选项设置为 false 时都可以加快响应的时间(大概是500ms),并且能让后来的 tasks 可以共享一个上下文环境,但这容易让这个 watch 失效!
“files”中指定 watch 任务需要监视的文件。
“tasks”中指定当监视文件发生改变时需要执行的任务。
4、最后在终端运行 "grunt watch" 命令
PS:如果提示 "Running "watch" task Waiting..." 证明就没什么问题了。想要停止 watch 任务按 ctrl + c 即可。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。