使用gulp任务运行节点服务器

时间:2015-11-21 07:23:54

标签: node.js gulp

我是新来的。

我需要使用gulp运行节点服务器,但不使用任何插件。

有可能吗?

如果没有那么gulp系统中最好的插件是什么。

3 个答案:

答案 0 :(得分:6)

您应该尝试使用gulp-nodemon插件。它是节点开发的有用插件。

// 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);
  });
})

答案 1 :(得分:3)

gulp有几个插件可用。

  1. Nodemon(https://www.npmjs.com/package/gulp-nodemon
  2. 快递(https://www.npmjs.com/package/gulp-express
  3. 开发服务器(https://www.npmjs.com/package/gulp-develop-server
  4. 如果您希望在没有任何插件的情况下启动节点服务器,可以尝试以下操作。

    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);
        });
    });
    

答案 2 :(得分:0)

如果您处于开发环境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