http://www.tuicool.com/articles/2eaQJn

用Grunt配置watch和liveReload组件,可以实时检测指定的文件变化并自动刷新浏览器。目前基本已经成为了我的必备配置。特别是在写前端页面的时候,不用再频繁去点浏览器刷新按钮。工作的时候把浏览器拖到扩展屏,保存文件实时看到变化,特别提高开发效率。

而且livereload插件非常人性化,在检测到不需要重刷新浏览器运行的文件,例如css文件变化时,直接在页面里重载文件,而不刷新页面。使效果反应非常快捷。

下面是我的Grunt.js文件配置:

module.exports = function(grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
html: {
files: ['skins/**.html'],
options: {livereload:true}
},
css: {
files: ['assets/**/*.css','skins/**/*.css'],
options: {livereload:true}
},
js: {
files: ['assets/**/*.js'],
options: {livereload:true}
},
less: {
files: ['assets/**/*.less'],
options: {livereload:false},
tasks: ['less:main']
}
},
less:{
main: { expand: true, cwd: 'assets/', src: ['**/*.less','!import.less'], dest: 'assets/', ext: '.css' }
}
});
grunt.loadNpmTasks('grunt-contrib-livereload');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.registerTask('default',['watch']);
grunt.registerTask('lessc',['less:main']);
};

我习惯这样按照文件类型来分别配置。

在对相应的html、css、js文件发生变化时,直接调用liveReload刷新浏览器或重载文件。

在less文件发生变化时,先调用less组件的main任务,把less文件编译生成相应的css文件。css文件生成时因为文件变化会触发['watch:css']从而使liveReload重载css文件。

同样的,还可以再增加其他组件或是细分配置,例如加入uglify压缩js文件,或是contact合并等。配合使用极大的解放双手了。Grunt就是前端自动化利器!

对于liveReload,浏览器需要安装插件配合。 Chrome版本的 Firefox版本的

Grunt的配置和组件安装可以参考: Grunt快速入门

分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器的更多相关文章

  1. gulpfile.js(编译sass,压缩图片,自动刷新浏览器)

    var gulp = require('gulp'),     sass = require('gulp-sass'),     watch = require('gulp-watch'),      ...

  2. grunt-contrib-watch 实时监测文件状态

    grunt-contrib-watch:实时监测文件的增删改状态,状态改变时自动执行预定义任务使用watch时,被watch的文件可以分开写,这样可以提高watch的性能,不用每次把没修改的文件也执行 ...

  3. 前端自动化之sass实时编译及自动刷新浏览器

    gulp livereload实现sass实时编译及浏览器自动刷新 首先gulp是基于Node的,所以确保你已经安装 node.js,在Nodejs官方网站下载跟自己操作系统相对应的安装包. 先说一下 ...

  4. 简单配置webpack自动刷新浏览器

    文档地址  http://webpack.github.io/docs/usage.html 首先全局安装webpack(我这里使用的是淘宝的cnpm) cnpm install webpack 检查 ...

  5. Windows Server配置Jenkins,实现监测SVN提交自动构建.net4.5的项目

    1,持续集成 概念:http://baike.baidu.com/view/5253255.htm,对于大多数人而言,自动构建/自动测试/自动部署,已经很发挥它的价值了.选择上: 推荐jenkins, ...

  6. Electron-vue中通过WebAudioApi实现录音功能,并转换为mp3格式,实时监测音频设备变化

    实现以下功能: 1.检测当前音频环境,是否支持录音(WebAudio Api): 2.获取输入.输出设备列表,获取电脑默认的音频设备: 3.试音功能,通过分析录音样本数据,判断是否录到声音: 4.实时 ...

  7. 在WebStorm里配置watcher实现编辑less文件时自动生成.map和压缩后的.css文件

    [文件(File)]-[设置(Settings)]-[工具(Tools)]-[File Watchers]-[+]-[Less]打开New Watcher配置界面. https://blog.csdn ...

  8. JNotify的监测文件变化的简单测试例子

    一.理由 使用JNotify监测的更全面,更快速. 二.参考代码 import net.contentobjects.jnotify.JNotify; import net.contentobject ...

  9. shell脚本监测文件变化

    1. 我使用过的Linux命令之du - 查看文件的磁盘空间占用情况 用途说明 du命令是用来查看磁盘空间占用情况的,在Linux系统维护时常会用到,并且通常与df命令搭配使用.首先使用df看一下各个 ...

随机推荐

  1. Redis 密码设置和登录

    Redis 一般在生产环境中,大家都不使用密码,为了确保安全,都是在防火墙上对redis端口做IP白名单的 我是个技术控,我非得了解一下密码这回事[虽然以后不会用到,呵呵] 好了,废话不多说,简单介绍 ...

  2. Barnicle

    Barnicle Barney is standing in a bar and starring at a pretty girl. He wants to shoot her with his h ...

  3. OpenGL学习--------颜色的选择

    OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式.无论哪种颜色模式,计算机都必须为每一个像素保存一些数据.不同的是,RGBA模式中,数据直接就代表了颜色:而颜色索引模式中,数据代表的是 ...

  4. android脚步---不同界面之间切换

    对于一个app,可能需要多个界面,使用Button或者其他控件在不同界面之间切换,那么如何做到呢 首先必须明确,一般一个activity.java文件一般只对应一个界面即一个layout.xml文件, ...

  5. js document

    <html><head lang="en"> <meta charset="UTF-8"> <title>< ...

  6. C++多线程二

    SuspendThread()暂停一个线程,ResumeThread()重启一个线程.参数均为线程的句柄. #include <iostream> #include <windows ...

  7. wex5 实战 微信6位数字密码输入设计

    微信支付使用是6位数字输入,用wex5能不能制作这种效果呢? 答案是肯定的. 根据网上提供的数字插件,研究源码后,与wex5进行整后修改,便于利用wex5框架优势. 一 效果演示: 弹出密码框 输入 ...

  8. 25个最佳最闪亮的Eclipse开发项目

    http://blog.csdn.net/howareyoutodayyhz/article/details/8264599 25个最佳最闪亮的Eclipse开发项目 标签: eclipseEclip ...

  9. 转 互联网推送服务原理:长连接+心跳机制(MQTT协议)

    http://blog.csdn.net/zhangzeyuaaa/article/details/39028369 目录(?)[-] 无线移动网络的特点 android系统的推送和IOS的推送有什么 ...

  10. 小P的强力值

    小P的强力值 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi在虚拟世界中有一只小宠物小P.小P有K种属性,每种属性的初始值为Ai.小Ho送给了小Hi若干颗药丸,每 ...