一口气执行,但什么都不做
我想在我的服务器启动时运行一些吞咽任务。 吞噬任务似乎执行,但他们什么都不做。 在我的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')); });