Gulp plugin to run a webserver (with LiveReload)

Install

npm can help us to install the plugin.

PS C:\study\gulp> npm install --save-dev gulp-connect
gulp-connect@2.2. node_modules\gulp-connect
├── connect-livereload@0.3.
├── event-stream@3.1. (duplexer@0.1., from@0.1., stream-combiner@0.0., pause-stream@0.0., map-stream@0.1., split@0.2., through@2.3.)
├── tiny-lr@0.0. (debug@0.8., qs@0.5., faye-websocket@0.4., noptify@0.0.)
├── gulp-util@2.2. (lodash._reinterpolate@2.4., minimist@0.2., vinyl@0.2., through2@0.5., chalk@0.5., multipipe@0.1., dateformat@1.0., lodash.template@2.4.)
└── connect@2.17. (parseurl@1.0., response-time@1.0., cookie@0.1., cookie-signature@1.0., fresh@0.2., debug@0.8., connect-timeout@1.1., vhost@1.0., qs@0.6., bytes@1.0., basic-auth-connect@1.0., on-headers@0.0., serve-favicon@2.0., errorhandler@1.0., morgan@1.1., cookie-parser@1.1., pause@0.0., type-is@1.2., method-override@1.0., compression@1.0., body-parser@1.2., express-session@1.2., csurf@1.2., serve-index@1.0., serve-static@1.1., multiparty@.
2.0)

you can saw the connect-livereload already contained.

Usage

we get a connect object, it help us to serve static web server. default, the web server root is the location of gulpfile.js.

create a js file, named to gulpfile.js, it is the specification name for gulp.

var  gulp = require('gulp'),
connect = require('gulp-connect'); gulp.task('connect', function() {
//
connect.server();
}); gulp.task('default', ['connect']);

open browser that your favorited, locate to http://localhost:8080/

default, it support ditionary browser, so you should saw the dictionary.

LiveReload

you should use watch feature with livereload, so you will create watch task for it.

in watch task, when file changed, watch task trigger specification task, in below, it is html task.

var gulp = require('gulp'),
connect = require('gulp-connect'); gulp.task('connect', function() {
connect.server({
root: 'app',
livereload: true
});
}); gulp.task('html', function () {
gulp.src('./app/*.html')
.pipe(connect.reload());
}); gulp.task('watch', function () {
gulp.watch(['./app/*.html'], ['html']);
}); gulp.task('default', ['connect', 'watch']);

in html task, we reload  target files.

Start and stop server

connect.server start the web server, connect.serverClose to close a web server.

gulp.task('jenkins-tests', function() {
connect.server({
port: 8888
});
// run some headless tests with phantomjs
// when process exits:
connect.serverClose();
});

Multiple server

var gulp = require('gulp'),
stylus = require('gulp-stylus'),
connect = require('gulp-connect'); gulp.task('connectDev', function () {
connect.server({
root: ['app', 'tmp'],
port: 8000,
livereload: true
});
}); gulp.task('connectDist', function () {
connect.server({
root: 'dist',
port: 8001,
livereload: true
});
}); gulp.task('html', function () {
gulp.src('./app/*.html')
.pipe(connect.reload());
}); gulp.task('stylus', function () {
gulp.src('./app/stylus/*.styl')
.pipe(stylus())
.pipe(gulp.dest('./app/css'))
.pipe(connect.reload());
}); gulp.task('watch', function () {
gulp.watch(['./app/*.html'], ['html']);
gulp.watch(['./app/stylus/*.styl'], ['stylus']);
}); gulp.task('default', ['connectDist', 'connectDev', 'watch']);

API

options.root

Type: Array or String Default: Directory with gulpfile

The root path

options.port

Type: Number Default: 8080

The connect webserver port

options.host

Type: String Default: localhost

options.https

Type: Boolean Default: false

options.livereload

Type: Object or Boolean Default: false

options.livereload.port

Type: Number Default: 35729

options.fallback

Type: String Default: undefined

Fallback file (e.g. index.html)

options.middleware

Type: Function Default: []

gulp.task('connect', function() {
connect.server({
root: "app",
middleware: function(connect, opt) {
return [
// ...
]
}
});
});

Contributors

AveVlad and schickling

gulp - connect的更多相关文章

  1. gulp connect.static is not a function

    npm install --save serve-static var serveStatic = require('serve-static');

  2. 前端打包构建工具gulp快速入门

    因为之前一直有人给我推荐gulp,说他这里好哪里好的.实际上对我来说够用就行.grunt熟悉以后实际上他的配置也不难,说到效率的话确实是个问题,尤其项目大了以后,目前位置遇到的项目都还可以忍受.不过不 ...

  3. gulp启动一个小型web服务器配置&browserify(require)

    var gulp = require('gulp'), connect = require('gulp-connect'), // 运行live reload服务器 browserify = requ ...

  4. Gulp实现web服务器

    Gulp实现web服务器 阅读目录 一:gulp实现web服务器配置: 二:添加实时刷新(livereload)支持 回到顶部 一:gulp实现web服务器配置: 对于前端开发而言,需要在本地搭建一个 ...

  5. 使用gulp插件来自动刷新页面。

    http://itakeo.com/blog/2016/05/19/gulpreload/?none=123 使用gulp插件来自动刷新页面.再也不用修改一次,按一下F5了. 首选通过npm inst ...

  6. gulp api

    gulp api 简介 gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成 gulp是基于Nod ...

  7. Gulp实现服务器

    Gulp实现web服务器 Gulp实现web服务器 阅读目录 一:gulp实现web服务器配置: 二:添加实时刷新(livereload)支持 回到顶部 一:gulp实现web服务器配置: 对于前端开 ...

  8. Angular企业级开发(6)-使用Gulp构建和打包前端项目

    1.gulp介绍 基于流的前端自动化构建工具,利用gulp可以提高前端开发效率,特别是在前后端分离的项目中.使用gulp能完成以下任务: 压缩html.css和js 编译less或sass等 压缩图片 ...

  9. gulp点滴

    var gulp = require('gulp'), connect = require('gulp-connect'), browserify = require('gulp-browserify ...

随机推荐

  1. taglib例子

    jsp中的taglib有点类似asp.net中的customer control.自定义标签. 一个最简单的taglib使用例子:检查用户是否已经被登陆. 新建一个class: CheckLoginT ...

  2. bzoj4109: [Wf2015]Cutting Cheese

    Description 给定一个100*100*100(单位:毫米)的奶酪方块,这个奶酪含有n个球形小孔.现在要求将这个奶酪切成s片使得每片质量相等. Input 第一行包含两个整数n,s,表示奶酪有 ...

  3. excel的常用公式

    1,合并单元格 例子 B1="delete from table where id='"&A1&"';" 注意最好单元格为文本格式 1,去重复列 ...

  4. Python标准库

    Python标准库是随Python附带安装的,它包含大量极其有用的模块.熟悉Python标准库是十分重要的,因为如果你熟悉这些库中的模块,那么你的大多数问题都可以简单快捷地使用它们来解决. sys模块 ...

  5. centos 连不上网

    ifc-eth0 里面要加DNS1=192.168.1.1 一定是DNS1这样的,不要是DNS

  6. 创建 Windows 7/8 的计算机修复光盘或工具

    Windows 7 Windows 8 控制面板--系统和安全--操作中心--恢复

  7. 解密:wp-includes/load.php

    描述:定义加载 WP 所需要的函数.1)wp_unregister_GLOBALS(),关闭’GLOBALS’, ‘_GET’, ‘_POST’, ‘_COOKIE’, ‘_REQUEST’, ‘_S ...

  8. JMM & synchronized概述(转)

    根据Java语言规范中的说明,JVM系统中存在一个主内存(Main Memory),Java中所有的变量存储在主内存中,对于所有的线程是共享的(相当于黑板,其他人都可以看到的).每个线程都有自己的工作 ...

  9. 蜘蛛纸牌存档修改——python3.4.3

    #encoding:utf-8 import struct myfile = open("D:\\Backup\\我的文档\\spider.sav","rb+" ...

  10. 解决pdm打开只显示表名不显示字段的步骤

    解决pdm打开只显示表名不显示字段的方法 选中PDM 依次点击 工具-->显示参数选择-->content 下面的table ,右边勾选上columns 点击OK 选择 all symbo ...