我刚开始学gulp。
我需要使用gulp运行node服务器,但是不使用任何插件。
这个可能吗?
如果不能,那在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!')
})
})
如需更多详细信息,请访问此处。
另外
如果您不想使用任何插件,可以像下面这样启动节点:
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);
});
})
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 插件和 gulp-connect-pm2。