gulp和babel与gulp-live-server

Pab*_*noz 2 javascript ecmascript-6 gulp babeljs

我正在尝试用ES6编写一个快速服务器而我正在使用Babel来进行转换,但是我无法使用gulp-live-server工作,因为我无法正常重启改变我的文件.

目前我有以下内容:

// gulpfile.babel.js

import gulp from 'gulp';
import gls from 'gulp-live-server';
import babel from 'gulp-babel';

gulp.task('transpile', ['clean:server'], () => {
  gulp.src(['server/**/*.js'])
  .pipe(babel())
  .pipe(gulp.dest('dist'));
});

gulp.task('server', ['transpile'], () => {
  var server = gls.new('dist/app.js');
  server.start();      
  gulp.watch(['server/**/*.js'], ['transpile']);
  gulp.watch('dist/app.js', server.start.bind(server)); //error
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用,此代码返回Gaze错误:

internal/child_process.js:274
  var err = this._handle.spawn(options);
                         ^

TypeError: Bad argument
    at TypeError (native)
    at ChildProcess.spawn (internal/child_process.js:274:26)
    at exports.spawn (child_process.js:339:9)
    at Object.exports.start (/Users/oni/Documents/Projects/meanimo/node_modules/gulp-live-server/index.js:134:19)
    at Gaze.<anonymous> (/Users/oni/Documents/Projects/meanimo/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/index.js:18:14)
    at emitTwo (events.js:87:13)
    at Gaze.emit (events.js:172:7)
    at Gaze.emit (/Users/oni/Documents/Projects/meanimo/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:129:32)
    at /Users/oni/Documents/Projects/meanimo/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:415:16
    at StatWatcher._pollers.(anonymous function) (/Users/oni/Documents/Projects/meanimo/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:326:7)
Run Code Online (Sandbox Code Playgroud)

该错误与传递给watch的回调有关:server.start.bind(server)虽然这直接来自gls文档......

我没有看到我的更改反映出来,我似乎无法找到任何关于使用gls与转换器的文档.

请帮忙.

Pab*_*noz 5

好的我已经修好了,我将为后代分享:由于某种原因,你必须将服务器重启功能包装在另一个功能上并自己执行.我认为这与Gaze包装子进程的方式有关.

gulp.watch('dist/app.js', () => server.start());
Run Code Online (Sandbox Code Playgroud)

那就行了.