我如何 运行 当前 gulpfile 中的另一个 gulpfile
How can I run another gulpfile in current gulpfile
我需要在当前 gulp 文件中的 'default' 任务之前 运行 另一个 gulp 文件。有没有针对这种情况的gulp插件
您可以使用 child_process.exec(...)
来 运行 这两个 gulp 任务,就像您在控制台中使用 CLI API 一样。有 Gulp.run
但该功能已弃用,将在以后删除。
此代码段将 运行 下面的两个 gulp 文件连续。
运行-二-gulp-files.js
致运行:node run-two-gulp-files.js
./gulpfile.js
取决于 ./other-thing-with-gulpfile/gulpfile.js
var exec = require('child_process').exec;
// Run the dependency gulp file first
exec('gulp --gulpfile ./other-thing-with-gulpfile/gulpfile.js', function(error, stdout, stderr) {
console.log('other-thing-with-gulpfile/gulpfile.js:');
console.log(stdout);
if(error) {
console.log(error, stderr);
}
else {
// Run the main gulp file after the other one finished
exec('gulp --gulpfile ./gulpfile.js', function(error, stdout, stderr) {
console.log('gulpfile.js:');
console.log(stdout);
if(error) {
console.log(error, stderr);
}
});
}
});
gulpfile.js
var gulp = require('gulp');
var replace = require('gulp-replace');
gulp.task('file1-txt', function() {
return gulp.src('file1.txt')
.pipe(replace(/foo/g, 'bar'))
.pipe(gulp.dest('dest'));
});
gulp.task('default', ['file1-txt']);
other-thing-with-gulpfile/gulpfile.js
var gulp = require('gulp');
var replace = require('gulp-replace');
gulp.task('file2-txt', function() {
return gulp.src('file2.txt')
.pipe(replace(/baz/g, 'qux'))
.pipe(gulp.dest('../dest'));
});
gulp.task('default', ['file2-txt']);
我需要在当前 gulp 文件中的 'default' 任务之前 运行 另一个 gulp 文件。有没有针对这种情况的gulp插件
您可以使用 child_process.exec(...)
来 运行 这两个 gulp 任务,就像您在控制台中使用 CLI API 一样。有 Gulp.run
但该功能已弃用,将在以后删除。
此代码段将 运行 下面的两个 gulp 文件连续。
运行-二-gulp-files.js
致运行:node run-two-gulp-files.js
./gulpfile.js
取决于 ./other-thing-with-gulpfile/gulpfile.js
var exec = require('child_process').exec;
// Run the dependency gulp file first
exec('gulp --gulpfile ./other-thing-with-gulpfile/gulpfile.js', function(error, stdout, stderr) {
console.log('other-thing-with-gulpfile/gulpfile.js:');
console.log(stdout);
if(error) {
console.log(error, stderr);
}
else {
// Run the main gulp file after the other one finished
exec('gulp --gulpfile ./gulpfile.js', function(error, stdout, stderr) {
console.log('gulpfile.js:');
console.log(stdout);
if(error) {
console.log(error, stderr);
}
});
}
});
gulpfile.js
var gulp = require('gulp');
var replace = require('gulp-replace');
gulp.task('file1-txt', function() {
return gulp.src('file1.txt')
.pipe(replace(/foo/g, 'bar'))
.pipe(gulp.dest('dest'));
});
gulp.task('default', ['file1-txt']);
other-thing-with-gulpfile/gulpfile.js
var gulp = require('gulp');
var replace = require('gulp-replace');
gulp.task('file2-txt', function() {
return gulp.src('file2.txt')
.pipe(replace(/baz/g, 'qux'))
.pipe(gulp.dest('../dest'));
});
gulp.task('default', ['file2-txt']);