项目作者: kt3k

项目描述 :
Serves the vinyl stream directly
高级语言: JavaScript
项目地址: git://github.com/kt3k/vinyl-serve.git
创建时间: 2015-12-26T08:07:30Z
项目社区:https://github.com/kt3k/vinyl-serve

开源协议:

下载


vinyl-serve v3.0.1

Serves the vinyl stream directly

Build Status
Build status
codecov.io
Greenkeeper badge

Usage

  1. import gulp from "gulp";
  2. import vinylServe from "vinyl-serve";
  3. import someTransform from "./somewhere";
  4. gulp.src("src/**/*.js")
  5. .pipe(someTransform())
  6. .pipe(vinylServe(7000));

This starts the server at port 7000 and, for example, localhost:7000/foo.js
responses the transformed contents of src/foo.js.

Recipes

Serve multiple source streams

  1. gulp.task("serve", function () {
  2. gulp.src("js/**/*.js")
  3. .pipe(someTransform())
  4. .pipe(vinylServe(7000));
  5. gulp.src("css/**/*.scss")
  6. .pipe(anotherTransform())
  7. .pipe(vinylServe(7000));
  8. gulp.src("html/**/*.html")
  9. .pipe(vinylServe(7000));
  10. });

Modify the base path

  1. gulp.src("./js/**/*.js", { base: "./" })
  2. .pipe(someTransform())
  3. .pipe(vinylServe(7000));

With the above example, if you have js/foo.js, it’s served at the path
/js/foo.js, not /foo.js.

Debug

At the address __vinyl__, you can see the debug page and find all the
available paths in the server.

screenshot

API

  1. var vinylServe = require("vinyl-serve");

vinylServe(port)

param type description
port number The port number of the server (default: 7000)

This returns stream processor which serves the contents at the given port.

vinylServe.stop(port)

param type description
port number The port number of the server (default: 7000)

This restarts the server at the given port number. Throws error if there is no
server at the port.

vinylServe.restart(port)

param type description
port number The port number of the server (default: 7000)

This stops the server at the given port number. Throws error if there is no
server at the port.

vinylServe.isServerReady(port)

param type description
port number The port number of the server (default: 7000)

This returns a promise which resolves when the server of the given port is
ready. Returns null when server does’t exist.

API for module developer

vinyl-serve has some more APIs which are maybe useful when someone wants to
use this module as a part of another module.

vinylServe.setDebugPageTitle(title)

This overrides the debug page title.

vinylServe.setDebugPagePath(path)

This overrides the debug page path. The path have to start with ‘/‘. (The
default is __vinyl__.)

Example. /__mytool__

vinylServe.setHandlerOfStarting(handler)

Sets the handler for the starting of the server. This handler is called when the
server start listening. This handler is called with 2 parameters. The first one
is the url of the root of the server and the second is the path of the debug
page. ( e.g. http://0.0.0.0:7000/ and http://0.0.0.0:7000/__vinyl__ )

vinylServe.setHandlerOfPortError(handler)

Sets the handler for the case of the port number error. This handler is called
when the server’s port is already in use. This handler is called with 1
parameter which is the port number of the server.

vinylServe.addMiddleware(middleware)

  • @param {Function} middlware The connect middleware

This adds the connect middleware to the server.

Install

  1. npm install vinyl-serve

License

MIT

History

  • 2018-06-09 v3.0.1 Add addMiddleware API.
  • 2017-04-23 v2.7.0 Serve index.html.
  • 2016-12-29 v2.6.1 Windows bug fix.
  • 2016-12-29 v2.6.0 Update page design.
  • 2016-12-29 v2.5.3 Windows bug fix.
  • 2016-09-18 v2.4.0 Better mtime handling.
  • 2016-04-17 v1.3.3 Fix bug of binary data handling.