一口气执行,但什么都不做

我想在我的服务器启动时运行一些吞咽任务。 吞噬任务似乎执行,但他们什么都不做。 在我的server.js中:

var gulp = require('gulp'); self.gulpRun = function(){ require('./tauler/gulpfile.js'); gulp.start('default'); }; console.log('gulp start'); self.gulpRun(); console.log('gulp end'); 

在我的gulpfile.js中:

 var gulp = require('gulp'), gutil = require('gulp-util') clean = require('gulp-clean'); gulp.task('default', ['clean'], function() { gutil.log('Gulp is running!'); gulp.src('src') .pipe(gulp.dest('public')); }); gulp.task('clean', function(){ gutil.log('Gulp-clean is running!'); gulp.src('public').pipe(clean()); }); 

输出:

 gulp start [20:32:33] Gulp-clean is running! [20:32:33] Gulp-default is running! gulp end 

rellevant文件系统(在代码运行之前和之后)如下所示:

 /project-root ├── server.js ├── public │ └── whatever.html └── tauler ├── src │ ├── index.html │ └── ... └── gulpfile.js 

我已经在“src”和“dest”中尝试了不同的组合,例如“./public”或“path.join(__ dirname,'public')”。 文件和目录不会更改。

任何想法如何进行? 提前提示!

最好的办法是把gulp文件作为一个subprocess从你的服务器文件中调用,以确保在这个过程完成之后你的RAM将会从一些吞没的东西中清除。

 const spawn = require("child_process").spawn; const gulp = spawn('gulp', ["default", "--gulpfile", "./tauler/gulpfile.js"], { stdio: 'inherit' }); gulp.on('close', () => { console.log("gulp done"); }); 

引用src文件夹中的所有内容使用

 const gulp = require('gulp'); gulp.task('default', [], function() { gulp.src('./src/**/*.*') .pipe(gulp.dest('dist')); });