当前位置: 首页 > 软件库 > Web应用开发 > >

gulp-develop-server

Development assistant for node.js server by gulp
授权协议 MIT License
开发语言 JavaScript
所属分类 Web应用开发
软件类型 开源软件
地区 不详
投 递 者 韩禄
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

gulp-develop-server

run your node.js server and automatically restart with gulp.

gulp-develop-server is a development assistant for node.js server that runsthe process and automatically restarts it when a file is modified.

installation

npm install gulp-develop-server --save-dev

usage

var gulp   = require( 'gulp' ),
    server = require( 'gulp-develop-server' );

// run server
gulp.task( 'server:start', function() {
    server.listen( { path: './app.js' } );
});

// restart server if app.js changed
gulp.task( 'server:restart', function() {
    gulp.watch( [ './app.js' ], server.restart );
});

api

###server.listen( options[, callback] )

options {Object}

  • path

    • type: {String}
    • example: './your_node_app.js'
    • Your node application path. This option is required.
  • env

    • type: {Object}
    • default: { NODE_ENV: 'development' } (extends current process.env)
    • example: { PORT: 3000, NODE_ENV: 'production' }
    • Environment settings of your server.
  • cwd

    • type: {String}
    • default: .
    • example: path/to/my/project/
    • Current working directory of the child process
  • args

    • type: {Array}
    • your application's arguments
  • execArgv

    • type: {Array}
    • example: [ '--harmony' ]
    • Run node process with this options.
  • delay

    • type: {Number}
    • default: 600
    • If this plugin does not receive an error from the server after options.delay seconds,assumes the server listening success.
    • This option needs to adjust according to your application's initialize time.
    • If this option set 0, it will only check successMessage.
  • successMessage

    • type: {RegExp}
    • default: /^[Ss]erver listening/
    • If your application send the specific message by process.send method,this plugin assumes the server listening success.
  • errorMessage

    • type: {RegExp}
    • default: /[Ee]rror:/
    • If this plugin receives the specific error message that matched this RegExp at start-up,assumes the server has error.
  • killSignal

    • type: {String}
    • default: SIGTERM

callback( error )

###server.restart( [callback] ) / server.changed( [callback] )

callback( error )

###server( [options] )

Create a Transform stream.Restart the server at once when this stream gets files.

###server.kill( [signal, callback] )

Send kill signal to the server process.
signal {String}
callback( error )

###server.reset( [signal, callback] )

Send kill signal to the server process and reset the options to default.
signal {String}
callback( error )

more examples

####with gulp-livereload:

var gulp       = require( 'gulp' ),
    server     = require( 'gulp-develop-server' ),
    livereload = require( 'gulp-livereload' );

var options = {
    path: './apps/app.js'
};

var serverFiles = [
    './apps/app.js',
    './routes/*.js'
];

gulp.task( 'server:start', function() {
    server.listen( options, livereload.listen );
});

// If server scripts change, restart the server and then livereload.
gulp.task( 'default', [ 'server:start' ], function() {
    
    function restart( file ) {
        server.changed( function( error ) {
            if( ! error ) livereload.changed( file.path );
        });
    }

    gulp.watch( serverFiles ).on( 'change', restart );
});

####with BrowserSync:

var gulp   = require( 'gulp' ),
    server = require( 'gulp-develop-server' ),
    bs     = require( 'browser-sync' );

var options = {
    server: {
        path: './apps/app.js',
        execArgv: [ '--harmony' ]
    },
    bs: {
        proxy: 'http://localhost:3000'
    }
};

var serverFiles = [
    './apps/app.js',
    './routes/*.js'
];

gulp.task( 'server:start', function() {
    server.listen( options.server, function( error ) {
        if( ! error ) bs( options.bs );
    });
});

// If server scripts change, restart the server and then browser-reload.
gulp.task( 'server:restart', function() {
    server.restart( function( error ) {
        if( ! error ) bs.reload();
    });
});

gulp.task( 'default', [ 'server:start' ], function() {
    gulp.watch( serverFiles, [ 'server:restart' ] )
});

####use as a stream:

var gulp   = require( 'gulp' ),
    server = require( 'gulp-develop-server' ),
    bs     = require( 'browser-sync' ),
    coffee = require( 'gulp-coffee' );

var options = {
    server: {
        path: './apps/app.js',
        execArgv: [ '--harmony' ]
    },
    bs: {
        proxy: 'http://localhost:3000'
    }
};

var serverCoffee = [
    './src/*.coffee'
];

gulp.task( 'server:start', function() {
    server.listen( options.server, function( error ) {
        if( ! error ) bs( options.bs );
    });
});

// If server side's coffee files change, compile these files,
// restart the server and then browser-reload.
gulp.task( 'server:restart', function() {
    gulp.src( serverCoffee )
        .pipe( coffee() )
        .pipe( gulp.dest( './apps' ) )
        .pipe( server() )
        .pipe( bs.reload({ stream: true }) );
});

gulp.task( 'default', [ 'server:start' ], function() {
    gulp.watch( serverCoffee, [ 'server:restart' ] );
});

thanks

@pronebird
@vkareh
@chimerast
@silverbp
@tomxtobin

  • 这几天着手学习react开发,在第一步的搭建环境稍微遇到了一些难题,不过幸好花了一天半总算是解决了这一个难题,这里分享一下。 注意:这个教程需要使用Nodejs,没有安装的同学请先自行安装。 首先确定一下我们的环境需要哪些功能? 第一:可以完美运行react代码(废话) 第二:在修改代码的同时,代码自动更新,浏览器自动刷新(需要安装RemoteLiveReload这个浏览器插件) 第三:利用bro

  • 一、新建项目 1.1、新建github仓库 在github上新建一个仓库用来提交模块代码,以及发布到npm上,仓库名与等会的cli模块名保持一致,我这里就都叫 hu-gulp-demo 。 1.2、新建空目录 yarn global add zce-cli 为了图方便,这里我直接使用了拉钩教育汪磊老师的模板创建项目结构,真香。 zce init nm hu-gulp-demo 执行命令创建项目

  • Gulp 基本使用 gulp :高效,易用,在项目中先安装项目依赖,导出相关函数方式 yarn init --yes yarn add gulp --dev code gulpfile.js // gulp的入口文件,默认开启异步任务 exports.foo = done =>{ console.log('foo start') done(); // 标识任务完成 } expo

  • 前言:在上一篇章,已经介绍过了gulp的基本使用和gulp 核心的工作思想,和一些基本的文件API,那么我们就以实际为例,创建一个gulpfile.js文件,开启一个真正的构建打包项目吧! let’s go !!! 一、gulp案例 -----样式编译 const {src ,dest} = require ('gulp') const sass = require('gulp-sass') //

  • 参考: 中文官网:https://www.gulpjs.com.cn/ 英文官网:http://gulpjs.com/ 什么是gulp: Gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;他不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成。 Gulp核心概念:流 流:简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了

  • 项目网址(牛人):https://github.com/zce/zce-gulp-demo 项目网址:https://gitee.com/big-right-right/gulp-sample/tree/master/zce-gulp-demo 一. gulp构建项目 用gulp以及其丰富的插件,可以实现强大的项目构建功能,比如scss编译、js编译、文件压缩、开发中热更新、打包等功能。 二. 构

  • var formPost = require('./tools/submit.js'); var gulp = require('gulp'), zip = require('gulp-zip'), htmlmin = require('gulp-htmlmin'), cssmin = require('gulp-minify-css'), imagemin = requi

  • 学习的过程中,给我最明显的感受就是如果版本过新,会导致很多不必须要的麻烦(各种缺modules以及依赖),把趟过的路记录一下,以及一个工程的规划设计 工程想要使用gulp,需要gulpfile.js的入口文件,先建个,之后初始化工程yarn init --dev 直接把gulpfile的文件提上,注释啥的都在里面了,以及需要注意的 const { src, dest, parallel, seri

 相关资料
  • QUI-Framework个快速开发框架,里面有定制化ORM,MVC 。简单容易上手。  Action 层代码: @Route(value = "/WebDemo") @Controller(value = "webDemoAction") public class WebDemoAction extends BaseController{  @Override  protected PageRe

  • 1. Rokid Kamino18 Universal Install Guide V2.5 Rokid Kamino18 Universal Install Guide STRICTLY PROPRIETARY and CONFIDENTIAL The material in this document is the intellectual property of Rokid. It is p

  • 这篇快速上手指南将教你如何使用Gulp构建TypeScript,和如何在Gulp管道里添加Browserify,uglify或Watchify。 本指南还会展示如何使用Babelify来添加Babel的功能。 这里假设你已经在使用Node.js和npm了。 我们首先创建一个新目录。 命名为proj,也可以使用任何你喜欢的名字。 mkdir proj cd proj 我们将以下面的结构开始我们的工程

  • 更改历史 * 2017-11-12 杨海月 增加xxx内容,更改xxx内容,删除xxx内容 * 2017-11-01 胡小根 初始化文档 第一章 历史、现状及发展 1.1 gulp历史 gulp是前端开发过程中一种基于流的 代码构建工具 ,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,不仅可

  • 问题内容: 我想遍历一个对象,并在每次迭代时将文件路径数组传递给gulp.src,然后对这些文件进行一些处理。下面的代码仅用于说明目的,因为return语句会在第一次通过时终止循环,因此实际上将无法工作。 这是基本思想。有关如何执行此操作的任何想法? 问题答案: 我能够使用合并流实现这一目标。如果有人感兴趣,这里是代码。这个想法是在循环内创建一个流数组,并在完成迭代后合并它们:

  • 我安装了gulp,但我不能使用“gulp”命令,因为它会给我“-bash:gulp:command not found”错误。当我使用“NPX GULP”,然后它的工作,但我不知道为什么。