有没有办法改变当前的gulp基础上下文?

时间:2015-03-26 22:06:46

标签: javascript gulp

有没有办法改变我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]);
    });
});

2 个答案:

答案 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]);
});