【发布时间】:2017-09-04 18:27:25
【问题描述】:
我是 gulp 的新手。
我需要使用 gulp 运行节点服务器,但不使用它的任何插件。
有可能吗?
如果不是,那么 gulp 系统中最好的插件是什么。
【问题讨论】:
我是 gulp 的新手。
我需要使用 gulp 运行节点服务器,但不使用它的任何插件。
有可能吗?
如果不是,那么 gulp 系统中最好的插件是什么。
【问题讨论】:
你应该试试gulp-nodemon 插件。它是使用 node 进行开发的有用插件。
// Gulpfile.js
var gulp = require('gulp')
, nodemon = require('gulp-nodemon')
, jshint = require('gulp-jshint')
gulp.task('lint', function () {
gulp.src('./**/*.js')
.pipe(jshint())
})
gulp.task('develop', function () {
nodemon({ script: 'server.js'
, ext: 'html js'
, ignore: ['ignored.js']
, tasks: ['lint'] })
.on('restart', function () {
console.log('restarted!')
})
})
更多详情您可以访问here。
还有
如果你不想使用任何插件,你可以在没有它的情况下启动节点,如下所示:
var gulp = require('gulp')
, exec = require('child_process').exec
gulp.task('nodestart', function (cb) {
exec('node bin/www.js', function (err, stdout, stderr) {
console.log(stdout);
console.log(stderr);
cb(err);
});
})
【讨论】:
gulp 有几个可用的插件。
如果您想在没有任何插件的情况下启动节点服务器,您可以尝试以下方法。
var exec = require('child_process').exec;
gulp.task('start', function (callback) {
exec('node server/app.js', function (err, stdout, stderr) {
console.log(stdout);
console.log(stderr);
callback(err);
});
});
【讨论】:
如果你在开发环境gulp-supervisor
// Gulpfile.js
var gulp = require( "gulp" ),
supervisor = require( "gulp-supervisor" );
gulp.task( "supervisor-simple", function() {
supervisor( "test/fixture/server.js" );
} );
gulp.task( "supervisor-all", function() {
supervisor( "test/fixture/server.js", {
args: [],
watch: [ "test" ],
ignore: [ "tasks" ],
pollInterval: 500,
extensions: [ "js" ],
exec: "node",
debug: true,
debugBrk: false,
harmony: true,
noRestartOn: false,
forceWatch: true,
quiet: false
} );
} );
如果你在生产环境,我推荐 gulp pm2 plugin, gulp-connect-pm2
【讨论】: