从gulp内部启动快速服务器

时间:2016-12-24 16:29:47

标签: javascript node.js express gulp

我在server.js的同一目录中有gulpfile.js个文件。 在gulpfile.js我需要我的server.js文件:

var express = require('./server.js')

我想在default任务中运行它:

gulp.task('default' , [ 'build','watch','connect'] , function(){
    gulp.run('express');
});

我试图像那样运行它,但它没有用。我想你只能以这种方式运行任务。如何在default任务中运行它?

server.js文件包含以下代码:

var express = require('express');
var app = express(); 

app.get('/api/test', function(req,res){
  res.send('Hello world!')
});

app.listen(3000, function(){
  console.log('Example app listening on port 3000!');
})

3 个答案:

答案 0 :(得分:2)

gulp-live-server包允许您(除其他外)从您自己的服务器脚本启动快速服务器:

var gulp = require('gulp');
var gls = require('gulp-live-server');

gulp.task('default', [ 'build','watch','connect'], function() {
  var server = gls.new('./server.js');
  return server.start();
});

使用上面的代码,您可以通过在命令行上运行gulp来启动服务器。服务器将一直运行,直到您在终端中按 Ctrl + C

答案 1 :(得分:1)

解决方案就是用以下内容替换我的代码:

gulp.task('default' , [ 'build','watch','connect'] , function(){
  express;
});

答案 2 :(得分:0)

晚会很晚,但是您可能要使用nodemon:

const nodemon = require('gulp-nodemon');
// ...
gulp.task('server', () => {
  nodemon({
    script: 'server.js'
  });
});