Grunt插件之LiveReload 实现页面自动刷新,所见即所得编辑

方案一:grunt-livereload + Chrome Plug-in

优点:安装、配置简单方便。
缺点:需要配合指定的浏览器插件(Firefox也有相关插件,IE么你懂的)。

1. 需要安装2个插接件:grunt-contrib-watch、connect-livereload

执行命令:npm install --save-dev grunt-contrib-watch connect-livereload

2. 安装浏览器插件:Chrome LiveReload

3. 配置一个Web服务器(IIS/Apache),LiveReload需要在本地服务器环境下运行(对file:///文件路径支持并不是很好)。

4. 修改Gruntfile.js文件:

module.exports = function(grunt) {

    // 项目配置(任务配置)

    grunt.initConfig({

        pkg: grunt.file.readJSON(‘package.json‘),

        watch: {

            client: {

                files: [‘*.html‘‘css/*‘‘js/*‘‘images/**/*‘],

                options: {

                    livereload: true

                }

            }

        }

    });

    // 加载插件

    grunt.loadNpmTasks(‘grunt-contrib-watch‘);

    // 自定义任务

    grunt.registerTask(‘live‘, [‘watch‘]);

};

5. 执行:grunt live

看到如下提示,说明已经开始监听任务:
Running "watch" task
Waiting...

6. 打开我们的页面,例如:http://localhost/

7. 再点击Chrome LiveReload插件的ICON,此时ICON圆圈中心的小圆点变成实心的,说明插件执行成功。此时你改下网站文件看看,是不是实时更新了?

方案二:grunt-contrib-watch + grunt-contrib-connect + grunt-livereload

优点:自动搭建静态文件服务器,不需在自己电脑上搭建Web服务器。
   不需要浏览器插件的支持(不现定于某个浏览器)。
    不需要给网页手动添加livereload.js。
缺点:对于刚接触的人,配置略显复杂。

1. 安装我们所需要的3个插件:grunt-contrib-watch、grunt-contrib-connect、connect-livereload

执行命令:npm install --save-dev grunt-contrib-watch grunt-contrib-connect connect-livereload

2. 修改Gruntfile.js文件:

module.exports = function(grunt) {

    // LiveReload的默认端口号,你也可以改成你想要的端口号

    var lrPort = 35729;

    // 使用connect-livereload模块,生成一个与LiveReload脚本

    // <script src="http://127.0.0.1:35729/livereload.js?snipver=1" type="text/javascript"></script>

    var lrSnippet = require(‘connect-livereload‘)({ port: lrPort });

    // 使用 middleware(中间件),就必须关闭 LiveReload 的浏览器插件

    var lrMiddleware = function(connect, options) {

        return [

            // 把脚本,注入到静态文件中

            lrSnippet,

            // 静态文件服务器的路径

            connect.static(options.base[0]),

            // 启用目录浏览(相当于IIS中的目录浏览)

            connect.directory(options.base[0])

        ];

    };

    // 项目配置(任务配置)

    grunt.initConfig({

        // 读取我们的项目配置并存储到pkg属性中

        pkg: grunt.file.readJSON(‘package.json‘),

        // 通过connect任务,创建一个静态服务器

        connect: {

            options: {

                // 服务器端口号

                port: 8000,

                // 服务器地址(可以使用主机名localhost,也能使用IP)

                hostname: ‘localhost‘,

                // 物理路径(默认为. 即根目录) 注:使用‘.‘或‘..‘为路径的时,可能会返回403 Forbidden. 此时将该值改为相对路径 如:/grunt/reloard。

                base: ‘.‘

            },

            livereload: {

                options: {

                    // 通过LiveReload脚本,让页面重新加载。

                    middleware: lrMiddleware

                }

            }

        },

        // 通过watch任务,来监听文件是否有更改

        watch: {

            client: {

                // 我们不需要配置额外的任务,watch任务已经内建LiveReload浏览器刷新的代码片段。

                options: {

                    livereload: lrPort

                },

                // ‘**‘ 表示包含所有的子目录

                // ‘*‘ 表示包含所有的文件

                files: [‘*.html‘‘css/*‘‘js/*‘‘images/**/*‘]

            }

        }

    }); // grunt.initConfig配置完毕

    // 加载插件

    grunt.loadNpmTasks(‘grunt-contrib-connect‘);

    grunt.loadNpmTasks(‘grunt-contrib-watch‘);

    // 自定义任务

    grunt.registerTask(‘live‘, [‘connect‘‘watch‘]);

};

5. 执行:grunt live

看到如下提示,说明Web服务器搭建完成,并且开始监听任务:
Running "connect:livereload" (connect) task
Started connect web server on 127.0.0.1:8000.

Running "watch" task
Waiting...

注:执行该命令前,如果你有安装过LiveReload的浏览器插件,必须关闭。

6. 打开我们的页面,例如:http://localhost:8000/ 或 http://127.0.0.1:8000/
注:这里所打开的本地服务器地址,是我们刚才通过connect所搭建的静态文件服务器地址,而不是之前你用IIS或Apache自己搭建Web服务器地址。

7. 开始体验吧。

时间: 2024-07-30 13:06:26

Grunt插件之LiveReload 实现页面自动刷新,所见即所得编辑的相关文章

如何做页面自动刷新,又不用让用户按回车键来提交数据!

假设叶面中有如下form: <form name=InputDate> ... </form> 如果页面要自动刷新,但该页面有Request.Form,那么通常会出现一个提示框,需要用户确定来提交数据,这就不是自动 刷新了.而对于监控或股票显示来说,不要用户干预又非常重要,下面就可以解决该问题: <Script Language="JavaScript"> <!-- var limit="0:60" //定义刷新时间 if

打开页面自动刷新网页,自动刷新当前页面,JS调用

reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页.true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过"前进"和"后退"来访问已经被替换

2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换

2017春 前端自动化(二)   页面自动刷新.sass与css转换的使用.pxToRem直观转换 引言: 此文要演示:浏览器页面自动刷新:移动端px与rem的转换,简单直观化:使用sass自动生成css进行编译,而不是借助于考拉工具;  顺便从头来一遍流程-- 建立如上图01所示的目录结构,层次明晰,便于日后管理. 快捷键进入当前文件夹,在此打开dos窗口输入:node -v,显示node版本,说明node之前已经安装好(之前已经介绍安装方法) 之后安装 cnpm,为了日后安装所需的包,速度更

JSP页面自动刷新

1.页面自动刷新:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20">,其中20指每隔20秒刷新一次页面. 2.页面自动跳转:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20;url=http://www.abc.com">,其中20指隔20秒后跳转到http:

页面自动刷新常用方法

在javascript编程中,经常在更新数据之后用到location.reload()实现页面刷新. reload() 方法用于重新加载当前的文档.如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变.如果文档已改变,reload() 会再次下载该文档.如果文档未改变,则该方法将从缓存中装载文档.这与用户单击浏览器的刷新按钮的效果是完全一样的. 我们都知道客户端浏览器是有缓存的,里面存放之前访问过的一些网页文件

html(对php也有效)页面自动刷新和跳转(简单版本)

<html>    <head><title>html页面自动刷新和跳转</title><meta http-equiv="Refresh" content="20; page.php"> /* content="秒数; url=跳转页面的文件或地址"> */    </head><body></body></html> 简单吧.

response对象处理HTTP文件头(禁用缓存、设置页面自动刷新、定时跳转网页)

response对象处理HTTP文件头 制作人:全心全意 禁用缓存 在默认情况下,浏览器将会对显示的网页内容进行缓存.这样,当用户再次访问相关网页时,浏览器会判断网页是否有变化,如果没有变化则直接显示缓存中的内容,这样可以提高网页的显示速度.对于一些安全性要求较高的网站,通常需要禁用缓存. 通过设置HTTP头的方法实现禁用缓存: <% response.setHeader("Cache-Control", "no-store"); response.setDa

HTML 页面自动刷新

学习就是一个不断积累的过程,每一天能够学到一点新东西说明自己就在进步!! HTML head 里面设置页面自动刷新功能 <meta http-equiv="Refresh" content="2"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> 兼容Ie 页面2s自动刷新一次 代码: <!doctype html> <htm

使用Spring Boot开发者工具进行自动重启和页面自动刷新

简介 大家可能都听说过开发Node.js应用时可以使用多种工具对开发者提供便利,如WebPack提供了开发者服务器来支持js应用动态更替,并在保存文件时自动刷新浏览器.Spring Boot也提供了相似的开发者工具,让我们更快速.更舒心的开发Spring Boot应用.大家看完本教程就可以学会如何如用Spring Boot开发者工具进行自动重启和自动刷新页面. 自动重启原理 Spring Boot的开发者工具会为应用创建两个classloader.一个是用来加载不会变动的类,称为base cla