grunt-contrib-connect自动刷新html页面
grunt-contrib-connect可以在我们开发的时候自动刷新页面,省去了手动刷新的时间。
下面说一下如何配置grunt-contrib-connect
1、下载插件包
npm install grunt-contrib-connect --save-dev
2、在gruntfile.js中引入包
grunt.loadNpmTasks('grunt-contrib-connect');
3、配置connec任务
// The actual grunt server settings
connect: {
options: {
port: 9000, //服务器的端口号,可用localhost:9000访问
// Change this to '0.0.0.0' to access the server from outside.
hostname: 'localhost', //服务器域名
livereload: 35729 //声明给watch监听的端口 },
livereload: {
options: {
open: true, //true:一直打开链接,不然浏览器只打开一次
middleware: function (connect) { //设置服务器中间件,主要用于获取静态文件,不设置中间件,node服务器是没有输出的,和php或java服务器不同
return [ //不懂中间件的可以去看下node.js
serveStatic('.tmp'), //获取tmp目录下的文件
connect().use(
'/bower_components', //设置挂载,如果路径中有/bower_components则会执行这个中间件
serveStatic('./bower_components') //获取bower_components下的文件,主要是bower安装的包 ),
serveStatic('public') //获取public目录下的文件,
]; //这3个中间件主要是从服务器获取展示html要用的东西,比如html文件,js,css,图片等
}
}
}
},
注意在较高版本的grunt-contrib-connect中已经不支持connect.static,需要使用serve-static
4、安装serve-static
cnpm install serve-static --save
在gruntfile.js中引入文件,这个serveStatic就是步骤3中的变量。
module.exports = function(grunt) {
var serveStatic = require('serve-static');
// Project configuration.
grunt.initConfig({
5、用watch监视端口
watch: {
gruntfile: {
files: '<%= jshint.gruntfile.src %>',
tasks: ['jshint:gruntfile']
},
lib_test: {
files: '<%= jshint.lib_test.src %>',
tasks: ['jshint:lib_test', 'qunit']
},
bower: {
files: ['bower.json'],
tasks: ['wiredep']
},
livereload: { //监听connect端口
options: {
livereload: '<%= connect.options.livereload %>'
},
files: [
'public/**/*.html', //html
'public/**/*.css' //css
]
}
}
我这里只设置了public下的html和css变动会通知端口刷新页面
6、设置默认启动任务
grunt.registerTask('default', ['jshint','concat', 'uglify','wiredep', 'connect','watch']);
7、输入命令运行grunt
grunt
这时你的默认浏览器会打开一个标签,显示你设置的.html文件,更改html或css浏览器会自动刷新。
grunt-contrib-connect自动刷新html页面的更多相关文章
- 黄聪:PHP如何实现延迟一定时间后自动刷新当前页面、自动跳转header("refresh:1;url={$url}");
//1秒后自动跳转 header("refresh:1;url={$url}"); exit; //1秒后自动刷新当前页面header("refresh:1;" ...
- button 自动刷新当前页面
button请始终为按钮规定 type 属性.Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "sub ...
- Flask自动刷新前端页面(方便调试)livereload
是不是每次调整模板文件,就要停止flask服务器,重启flask服务器,再去浏览器刷新页面? 有没有办法自动完成这3步呢? 安装livereload即可, 仅仅把app.run() 改为下面的例子就可 ...
- fancybox 关闭弹出窗口 parent.$.fancybox.close(); 无反应 fancybox 关闭弹出窗口父页面自动刷新,弹出子窗口前后事件
当我们在父页面使用 fancybox 弹出窗口后,如果想自己手动关闭,则可以 function Cancel() { parent.$.fancybox.close(); } 如果关闭没有反应,最好看 ...
- gulp之压缩合并MD5清空替换加前缀以及自动编译自动刷新浏览器大全
gulp是基于流的前端构件化工具.目前比较火的前端构建化工具还是挺多的,grunt gulp fis3等等. 这个鬼东西有什么用?请参考https://www.zhihu.com/question/3 ...
- 使用livereload实现自动刷新
livereload是一个web开发辅助工具,当我们修改完html.css和js的时候会自动刷新浏览器,解放码农的双手.这样在双屏切图.写js代码的时候会提高很多效率.livereload有很多版本, ...
- PHP 后台定时循环刷新某个页面 屏蔽apache意外停止
PHP 后台定时循环刷新某个页面 如果间隔时间过长的话 会出现apache自动停止的现象.出现的原因则是设置了 <IfModule mpm_winnt_module> ThreadsPe ...
- webpack-dev-server 多入口自动刷新,支持对象
万物的来源~webpack 本身 watch webpack watch 传送门 webpack 可以监听文件变化,当它们修改后会重新编译 watch boolean 启用 Watch 模式.这意味着 ...
- webpack 之 webpack-dev-server自动刷新
watch 首先介绍watch选项,参考这里.可实现相关源文件改变后自动更新bundle.js文件的功能.在配置文件中添加 watch:true 或执行 webpack -w,即可开启watch功能: ...
随机推荐
- 微信开发(2)–获取access_token
一.access_token access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保 ...
- XML的序列化(Serializer)
步骤: //1获取XmlSerializer 类的实例 通过Xml这个工具类去获取 XmlSerializer xmlSerializer = Xml.newSerializer(); try { / ...
- oracle pl/sql 变量
一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(refer ...
- Linux学习——Shell基础
1 shell概述 Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序. Shell 还是一 ...
- "HK"日常之用C# Process写一只小病毒
众所周知,Process可以启动和关闭电脑上的进程,命名空间位于 System.Diagnostics,本次的教程就是利用其中的GetProcesses和Kill方法来实现的. 一.编码工作 首先我们 ...
- linux debian 9 配置postgresSQL数据库
#读者注意:本文可以选择不看解释,直接执行每段的0中的代码 (〇):一些概念(可以跳过直接使用(一)0的代码) 1. 客户端:psql.postgreSQL的命令行客户端程序,在终端输入psql进入p ...
- GCD SUM 强大的数论,容斥定理
GCD SUM Time Limit: 8000/4000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) SubmitStatu ...
- python --- 网络编程Socket
网络编程 定义:所为网络编程即是对信息的发送和接收. 主要工作: (1)发送端:将信息以规定的协议组装成数据包. (2)接收端:对收到的数据包解析,以提取所需要的信息. Socket:两个在网络上的程 ...
- python之线程学习
一.进程与线程简介 进程 进程是程序的一次执行,由进程段.数据段.进程控制块三部分组成.具体三个基本状态,就绪.执行.阻塞,是一个拥有资源的独立单位. 线程 属于进程的一个实体,拥有极少的资源.也具有 ...
- ICommand.CanExecuteChanged事件订阅对象的变化
public class DelegateCommand : ICommand { Func<object, bool> canExecute; Action<object> ...