Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用babel吞下手表,然后pm2重启_Javascript_Gulp_Watch_Pm2_Babeljs - Fatal编程技术网

Javascript 用babel吞下手表,然后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手表=需要(“吞咽手表”);

\嘿,伙计们,我完全被这件事难住了

基本上,我希望我的本地开发能够让gulp监视我的src js文件,并用babel转换它们,将它们输出到我的dist文件夹,然后在完成后让pm2重启节点加载最新的更改

我遇到的问题是,我一辈子都想不出如何添加一个回调来观看,这样重启pm2的调用只会在巴贝尔完成了对文件的神奇转换之后发生

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
任务。想知道我们能不能把那个非常具体的文件放大?我不明白你为什么不能