Gulp 插件 —— gulp-connect

可以在本地跑一个 webserver,自带 LiveReload

用法

var gulp = require('gulp'),
  connect = require('gulp-connect');

gulp.task('connect', function() {
  connect.server();
});

gulp.task('default', ['connect']);

添加 livereload

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']);

启动/停止 server

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

配置多个 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: gulpfile 所在目录 一般为项目根目录

  • options.port Type: Number Default: 8080 *webserver 监听的端口

  • options.host Type: String Default: localhost

  • options.https Type: Object Default: false 可以是本文档中的任何选项。 当 https 设置为 true 时,一些内置的默认选项将被使用。

  • options.livereload Type: Object or Boolean Default: false

    • options.livereload.port Type: Number Default: 35729

    • options.livereload.hostname Type: String Default: 'undefined'

      重写 livereload 注入到 index.html 中的 hostname

  • options.fallback Type: String Default: undefined 回退文件 (e.g. index.html)

  • options.middleware Type: Function Default: []

  • options.debug Type: Boolean Default: false

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

results matching ""

    No results matching ""