Javascript gulp和babel与gulp live server

Javascript gulp和babel与gulp live server,javascript,gulp,ecmascript-6,babeljs,Javascript,Gulp,Ecmascript 6,Babeljs,我正在尝试用ES6编写一个express服务器,我正在使用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

我正在尝试用ES6编写一个express服务器,我正在使用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
});
但它不工作,此代码返回一个
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)
internal/child_process.js:274
var err=this.\u handle.spawn(选项);
^
TypeError:参数错误
at TypeError(本机)
在ChildProcess.spawn(内部/child_process.js:274:26)
在exports.spawn(child_process.js:339:9)
在Object.exports.start(/Users/oni/Documents/Projects/meanimo/node_modules/gulp live server/index.js:134:19)
凝视着。(/Users/oni/Documents/Projects/meanimo/node_modules/gulp/node_modules/vinyl fs/node_modules/glob watcher/index.js:18:14)
两点钟(events.js:87:13)
at Gaze.emit(events.js:172:7)
在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/乙烯基fs/node_modules/glob watcher/node_modules/gaze/lib/gaze.js:415:16
在StatWatcher.(匿名函数)(/Users/oni/Documents/Projects/meanimo/node_modules/gulp/node_modules/乙烯基fs/node_modules/glob watcher/node_modules/gaze/lib/gaze.js:326:7)
错误与传递给watch的回调有关:
server.start.bind(server)
,尽管这直接来自gls文档

我看不到我的更改得到反映,而且我似乎找不到任何关于将gls与Transpiler一起使用的文档


请帮助。

好的,我已经修复了它,我将为后代分享:出于某种原因,您必须将服务器重启功能包装到另一个函数上,然后自己执行。我认为这与Gaze包装子流程的方式有关

gulp.watch('dist/app.js', () => server.start());

这样就可以了。

没有理由
.bind
如果使用箭头函数,只需执行
()=>server.start()