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与转换器的文档.
请帮忙.
好的我已经修好了,我将为后代分享:由于某种原因,你必须将服务器重启功能包装在另一个功能上并自己执行.我认为这与Gaze包装子进程的方式有关.
gulp.watch('dist/app.js', () => server.start());
Run Code Online (Sandbox Code Playgroud)
那就行了.
| 归档时间: |
|
| 查看次数: |
738 次 |
| 最近记录: |