前端自动化工具 grunt 插件 watch 的简单使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端自动化工具 grunt 插件 watch 的简单使用相关的知识,希望对你有一定的参考价值。

一、contrib-watch 插件的使用

1、安装 “grunt-contrib-watch ”插件命令(在终端进入到项目根目录执行)

            npm install grunt-contrib-watch --save-dev

            npm install grunt-contrib-concat --save-dev

            npm install 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 即可。




本文出自 “珞辰的博客” 博客,转载请与作者联系!

以上是关于前端自动化工具 grunt 插件 watch 的简单使用的主要内容,如果未能解决你的问题,请参考以下文章

前端自动化工具 grunt 插件的简单使用

前端自动化工具 grunt 插件的简单使用

前端自动化工具 grunt 插件 imagemin 的简单使用

前端自动化工具 grunt 插件 jshint 的简单使用

前端自动化工具 grunt 插件 htmlmin 的简单使用

前端自动化工具 grunt 插件之 concat 和 uglify 的联合使用