有没有办法改变我gulpfile.js
内的gulp上下文?
现在我在我的gulp.src
前面加上我想要的位置。但有没有办法在全球范围内改变这种情况?
这是我目前的代码:
var base = '../';
gulp.task('copy', function() {
gulp.src(base + 'sampleFile.js').pipe(gulp.dest('dist/'));
});
gulp.task('clean', function() {
del.sync([base + options.dist]);
});
这就是我正在寻找的东西:
gulp.base('../', function() {
gulp.task('copy', function() {
gulp.src('sampleFile.js').pipe(gulp.dest('dist/'));
});
gulp.task('clean', function() {
del.sync([options.dist]);
});
});
答案 0 :(得分:0)
CLI标志--cwd
将允许您全局更改它 - 虽然要执行您想要的操作,您还需要在您调用它的目录中为其提供gulpfile的位置,所以
gulp --gulpfile gulpfile.js --cwd ../
将替换您拥有的路径前缀。
您还可以为其gulp.src
来电创建一个选项对象:{/ 1}}:
cwd: base
将Gulpfile移动到一个可以更明显地访问它将要读取和写入内容的目录中也是有意义的。
答案 1 :(得分:0)
根据@ddprrt的评论,我找到了解决方案。
我们的想法是使用process.chdir
导航到其他位置。更新后的代码如下:
if (options.base) {
process.chdir(options.base);
}
gulp.task('copy', function() {
gulp.src('sampleFile.js').pipe(gulp.dest('dist/'));
});
gulp.task('clean', function() {
del.sync([options.dist]);
});