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.
npm install gulp-develop-server --save-dev
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 );
});
###server.listen( options[, callback] )
options {Object}
path
'./your_node_app.js'
env
{ NODE_ENV: 'development' }
(extends current process.env
){ PORT: 3000, NODE_ENV: 'production' }
cwd
.
path/to/my/project/
args
execArgv
[ '--harmony' ]
delay
600
options.delay
seconds,assumes the server listening success.0
, it will only check successMessage
.successMessage
/^[Ss]erver listening/
process.send
method,this plugin assumes the server listening success.errorMessage
/[Ee]rror:/
killSignal
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 )
####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' ] );
});
这几天着手学习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”,然后它的工作,但我不知道为什么。