avevlad/gulp-connect


Gulp plugin to run a webserver (with LiveReload)

https://npmjs.org/package/gulp-connect

License: MIT

Language: CoffeeScript


gulp-connect Build Status Join the chat at https://gitter.im/AveVlad/gulp-connect

Gulp plugin to run a webserver (with LiveReload)

Sponsors

gulp-connect is sponsored by JetBrains!

Install

npm install --save-dev gulp-connect

Usage

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(gulp.dest('./app'))
    .pipe(connect.reload());
});

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

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

Start and stop 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({
    name: 'Dev App',
    root: ['app', 'tmp'],
    port: 8000,
    livereload: true
  });
});

gulp.task('connectDist', function () {
  connect.server({
    name: 'Dist App',
    root: 'dist',
    port: 8001,
    livereload: true
  });
});

gulp.task('html', function () {
  gulp.src('./app/*.html')
    .pipe(gulp.dest('./app'))
    .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']);

http2 support

If the http2 package is installed and you use an https connection to gulp connect then http 2 will be used in preference to http 1.

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.name

Type: String Default: Server

The name that will be output when the server starts/stops.

options.https

Type: Object Default: false

Can be any options documented at https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener

When https is just set to true (boolean), then internally some defaults will be used.

options.livereload

Type: Object or Boolean Default: false

options.livereload.port

Type: Number Default: 35729

Overrides the hostname of the script livereload injects in index.html

options.livereload.hostname

Type: String Default: 'undefined'

options.fallback

Type: String Default: undefined

Fallback file (e.g. index.html)

options.middleware

Type: Function Default: []

options.debug

Type: Boolean Default: false

options.index

Type: Boolean or String of a new index pass or Array of new indexes in preferred order Default: true

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

Contributing

To contribute to this project, you must have CoffeeScript installed: npm install -g coffee-script.

Then, to build the index.js file, run coffee -o . -bc src/. Run npm test to run the tests.

Contributors

Project Statistics

Sourcerank 18
Repository Size 4.32 MB
Stars 610
Forks 125
Watchers 18
Open issues 28
Dependencies 389
Contributors 54
Tags 43
Created
Last updated
Last pushed

Top Contributors See all

Vlad Justin Chase Johannes Schickling Arvin Wei Nikita Gusakov Veeck Dmitry Mazuro Daniel Bölts Daniel Nakov Michiel De Mey Alan Languirand Michael Heuberger Bo-Yi Wu Joseph Page Connor Harwood Sergey Tolmachev Chris Yip Lars Schöning Josh Madewell Sergey Slipchenko

Packages Referencing this Repo

gulp-connect
Gulp plugin to run a webserver (with LiveReload)
Latest release 5.7.0 - Updated - 610 stars
@achingbrain/gulp-connect
Gulp plugin to run a webserver (with LiveReload) and https://github.com/AveVlad/gulp-connect/pull...
Latest release 5.6.1 - Published - 610 stars
gulp-connect-aster
Gulp plugin to run a webserver (with LiveReload)
Latest release 2.2.2 - Published - 610 stars

Recent Tags See all

5.7.0 December 06, 2018
5.6.1 August 28, 2018
5.6.0 July 26, 2018
5.5.0 February 22, 2018
5.4.0 February 16, 2018
5.2.0 January 04, 2018
5.2.0 January 04, 2018
5.1.0 January 03, 2018
v5.0.0 July 28, 2016
v4.2.0 July 17, 2016
v4.1.0 June 13, 2016
v4.0.0 April 27, 2016
v3.2.3 April 26, 2016
v3.2.2 March 28, 2016
v3.2.1 March 23, 2016

Something wrong with this page? Make a suggestion

Last synced: 2018-12-06 17:10:09 UTC

Login to resync this repository