Javascript 用babel吞下手表,然后pm2重启
\嘿,伙计们,我完全被这件事难住了 基本上,我希望我的本地开发能够让gulp监视我的src js文件,并用babel转换它们,将它们输出到我的dist文件夹,然后在完成后让pm2重启节点加载最新的更改 我遇到的问题是,我一辈子都想不出如何添加一个回调来观看,这样重启pm2的调用只会在巴贝尔完成了对文件的神奇转换之后发生Javascript 用babel吞下手表,然后pm2重启,javascript,gulp,watch,pm2,babeljs,Javascript,Gulp,Watch,Pm2,Babeljs,\嘿,伙计们,我完全被这件事难住了 基本上,我希望我的本地开发能够让gulp监视我的src js文件,并用babel转换它们,将它们输出到我的dist文件夹,然后在完成后让pm2重启节点加载最新的更改 我遇到的问题是,我一辈子都想不出如何添加一个回调来观看,这样重启pm2的调用只会在巴贝尔完成了对文件的神奇转换之后发生 var gulp=require(“gulp”); var babel=需要(“大口大口大口”); var pm2=需要的(“pm2”); var手表=需要(“吞咽手表”);
var gulp=require(“gulp”);
var babel=需要(“大口大口大口”);
var pm2=需要的(“pm2”);
var手表=需要(“吞咽手表”);
var管道工=需要(“大口管道工”);
var SRC=“SRC/***js”;
var DIST=“DIST/”;
函数restartPM2(){
//在这里重新启动pm2代码
}
吞咽任务(“默认”,函数(){
回灌量src(src)
.管道(监视(SRC))
.管子(管道工())
.pipe(babel())
.管道(管道工停止()
.管道(大口目的地(距离));
//在巴贝尔转变后,这里的某个地方需要回电话
//输入代码并将其保存到dist/to,然后调用restartPM2
});代码>首先,你看得不对。那么,你应该把东西分开。我就是这么做的:
var paths = {
babel: './somedir'
}
//basic babel task
gulp.task('babel', function() {
return gulp.src(paths.babel)
.pipe(babel())
.pipe(gulp.dest('./'))
})
//see below for some links about programmatic pm2
gulp.task('pm2', function(cb) {
pm2.connect(function() {
pm2.restart('echo', function() {
return cb()
})
})
})
gulp.task('default', ['babel']) //I don't restart pm2 with the default task but you could
//the watch task
gulp.task('watch', function() {
//their could be more watchers here ofc
gulp.watch(paths.babel, ['babel', 'pm2'])
})
如果启动gulpwatch
,它将监视路径。babel
,并在更改时执行这两个任务(babel,pm2)。
如果只执行gulp
(或本例中的gulp babel
),它将启动相应的任务。您也可以启动吸入pm2
资源:
你就不能让pm2监视构建文件夹吗?我本来是这样做的,但当gulp将文件复制到目录中时,我得到了大量的重新启动,可能有点晚了,但对我来说,nodemon有效的是-d(debounce,delay),也许pm2有这样一个选项?您正在运行将重新编译所有文件的babel
任务。想知道我们能不能把那个非常具体的文件放大?我不明白你为什么不能