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页面的更多相关文章

  1. 黄聪:PHP如何实现延迟一定时间后自动刷新当前页面、自动跳转header("refresh:1;url={$url}");

    //1秒后自动跳转 header("refresh:1;url={$url}"); exit; //1秒后自动刷新当前页面header("refresh:1;" ...

  2. button 自动刷新当前页面

    button请始终为按钮规定 type 属性.Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "sub ...

  3. Flask自动刷新前端页面(方便调试)livereload

    是不是每次调整模板文件,就要停止flask服务器,重启flask服务器,再去浏览器刷新页面? 有没有办法自动完成这3步呢? 安装livereload即可, 仅仅把app.run() 改为下面的例子就可 ...

  4. fancybox 关闭弹出窗口 parent.$.fancybox.close(); 无反应 fancybox 关闭弹出窗口父页面自动刷新,弹出子窗口前后事件

    当我们在父页面使用 fancybox 弹出窗口后,如果想自己手动关闭,则可以 function Cancel() { parent.$.fancybox.close(); } 如果关闭没有反应,最好看 ...

  5. gulp之压缩合并MD5清空替换加前缀以及自动编译自动刷新浏览器大全

    gulp是基于流的前端构件化工具.目前比较火的前端构建化工具还是挺多的,grunt gulp fis3等等. 这个鬼东西有什么用?请参考https://www.zhihu.com/question/3 ...

  6. 使用livereload实现自动刷新

    livereload是一个web开发辅助工具,当我们修改完html.css和js的时候会自动刷新浏览器,解放码农的双手.这样在双屏切图.写js代码的时候会提高很多效率.livereload有很多版本, ...

  7. PHP 后台定时循环刷新某个页面 屏蔽apache意外停止

    PHP 后台定时循环刷新某个页面 如果间隔时间过长的话  会出现apache自动停止的现象.出现的原因则是设置了 <IfModule mpm_winnt_module> ThreadsPe ...

  8. webpack-dev-server 多入口自动刷新,支持对象

    万物的来源~webpack 本身 watch webpack watch 传送门 webpack 可以监听文件变化,当它们修改后会重新编译 watch boolean 启用 Watch 模式.这意味着 ...

  9. webpack 之 webpack-dev-server自动刷新

    watch 首先介绍watch选项,参考这里.可实现相关源文件改变后自动更新bundle.js文件的功能.在配置文件中添加 watch:true 或执行 webpack -w,即可开启watch功能: ...

随机推荐

  1. 我和Python

    记不得是年,我在网易云课堂上乱逛,看到了哈佛大学的<计算机编程导论>,这门课讲的正好是Python,讲的啥内容已经记不得多少了,因为是全英文教学,我只能慢慢的看字幕,一集得看个好几遍. 我 ...

  2. [python学习笔记] 运算符

    数学运算符 与大多语言相同的运算符就不介绍了.不同的地方会用 (!不同)标出 与java相同的运算符 , - , * , % , / 不同之处 除法 (!不同) /  与java不同,整数相除,结果为 ...

  3. JSON和java对象的互转

    先说下我自己的理解,一般而言,JSON字符串要转为java对象需要自己写一个跟JSON一模一样的实体类bean,然后用bean.class作为参数传给对应的方法,实现转化成功. 上述这种方法太麻烦了. ...

  4. 记2017问鼎杯预赛的wp---来自一个小菜鸡的感想

    这次准备写一下几个misc和密码题目..很坑. 打了一整天的比赛,越来越觉得自己很菜了. 有一道题目叫做"真真假假",这道题目只有一个提示--Xor.第一眼知道是异或,也就知道这一 ...

  5. HSF服务的开发与使用

    1.HSF服务的开发 1) 基于Maven创建一个web工程HSFService,如下图,其他的可以自定义. 2)创建好好在src/main目录下创建一个java目录,并将其设置为sources fo ...

  6. SQL server学习(三)T-SQL编程、逻辑控制语句和安全模式

    T-SQL编程 T-SQL编程与C语言类似,只是语法稍有不同而已,总体思想还是没有变化的.多的就不说了,还是从变量开始. 变量也分为全局变量和局部变量,表示方式稍有不同. 局部变量: 局部变量必须以标 ...

  7. java数据库编程之初始Mysql

    2.3:命令行连接mySql 2.3.1:检查是否启动服务 步骤:计算机-----管理------服务和应用程序-------服务---搜索mysql右键启动服务 2.3.2:命令行方式连接数据库 步 ...

  8. java中需要注意的小细节

    很早以前就打算写博客,但是总是因为不知道写什么,或是觉得博客里其他人已经把我要写的整理很好了而迟迟没有动笔,现在决定把自己平时的记录的一些笔记拿出来,希望大神们可以批评指导,并且希望能够帮助一些刚刚入 ...

  9. 原生JS封装animate运动框架

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

  10. bootstrap 的可编辑下拉框 jquery.editable-select

    搜了半天发现在某处下载jquery.editable-select需要积分,于是整理出来方便 其他人. 先上下载链接:http://pan.baidu.com/s/1kUXvwlL      pass ...