Gulp plugin connect to server, LiveReload and opening browser
Clone or download
Pull request Compare This branch is 16 commits ahead, 228 commits behind avevlad:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

gulp-connect-multi NPM version Dependency Status devDependency Status

NPM

A fork of gulp-connect with multiple servers support

Gulp plugin connect to server, LiveReload and opening browser

Install

Install with npm.

npm install --save-dev gulp-connect-multi

Example

simplest

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

gulp.task('connect', connect.server());

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

connect + livereload + open + stylus

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

gulp.task('connect', connect.server({
  root: ['app'],
  port: 1337,
  livereload: true,
  open: {
    browser: 'chrome' // if not working OS X browser: 'Google Chrome'
  }
}));

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', ['connect', 'stylus', 'watch']);

all option

gulp.task('connect', connect.server({
  root: ['app', 'some_path'],
  port: 1337,
  livereload:{
    port: 35729
  },
  open: {
    file: 'index.html',
    browser: 'firefox'
  },
  middleware: function(connect, o) {
    return [
      // ...
    ]
  }
}));

no browser option

gulp.task('connect-no-browser', connect.server({
    root: ['app', 'path'],
    port: 1337,
    open: {
        browser: 'none' // or undefined
    }
}));

multiple connects + livereload + open + stylus

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

var devServer = connect(),
    coverageServer = connect();

gulp.task('connect', devServer.server({
  root: ['app'],
  port: 1337,
  livereload: true,
  open: {
    browser: 'chrome' // if not working OS X browser: 'Google Chrome'
  }
}));

gulp.task('coverage', coverageServer.server({
  root: ['coverage'],
  port: 1338,
  livereload: false,
  open: {
    browser: 'chrome' // if not working OS X browser: 'Google Chrome'
  }
}));

gulp.task('html', function () {
  gulp.src('./app/*.html')
    .pipe(devServer.reload());
});

gulp.task('stylus', function () {
  gulp.src('./app/stylus/*.styl')
    .pipe(stylus())
    .pipe(gulp.dest('./app/css'))
    .pipe(devServer.reload());
});

gulp.task('watch', function () {
  gulp.watch(['./app/*.html'], ['html']);
  gulp.watch(['./app/stylus/*.styl'], ['stylus']);
});

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

###coffee

gulp --require coffee-script/register
gulp = require("gulp")
stylus = require("gulp-stylus")
connect = require("gulp-connect-multi")()

gulp.task "connect", connect.server(
  root: ['app']
  port: 1337
  livereload: true
  open:
    browser: "chrome" # if not working OS X browser: 'Google Chrome'
)

gulp.task "html", ->
  gulp.src("./app/*.html").pipe connect.reload()

gulp.task "stylus", ->
  gulp.src("./app/stylus/*.styl")
    .pipe(stylus())
    .pipe(gulp.dest("./app/css"))
    .pipe connect.reload()

gulp.task "watch", ->
  gulp
    .watch ["./app/*.html"], ["html"]
  gulp
    .watch ["./app/stylus/*.styl"], ["stylus"]

gulp.task "default", [
  "connect"
  "stylus"
  "watch"
]

API

options.root

Type: Array Default: ['app']

The root path

options.port

Type: Number
Default: 3000

The connect port

options.livereload

Type: Object or Boolean
Default: true

options.livereload.port

Type: Number
Default: 35729

options.open

Type: Object
Default: {}

options.open.file

Type: String
Default: index.html

The open file

options.open.browser

Type: String
Default: the system default browser

The type of browser, like chrome

OR

none if you don't want a browser window to open

License

MIT © Vladislav Derjavin dev@vld.me