首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在运行依赖项之前,是否可以在gulp任务中分配一个变量?

在运行依赖项之前,是否可以在gulp任务中分配一个变量?
EN

Stack Overflow用户
提问于 2014-12-02 23:54:48
回答 1查看 15.7K关注 0票数 21

我正在尝试根据变量的值有条件地传输文件流,以此作为定义两个单独的构建环境(即。开发和生产)。

一些任务可以使用命令行标志单独运行,例如:gulp scripts --env production

然后执行一些仅用于生产的流水线步骤:

代码语言:javascript
运行
复制
gulp.task('scripts', function() {
  var jsFilter = filter(['*.js']),
  appFiles;

  return gulp.src(appFiles)
    .pipe(jsFilter)
    .pipe(concat('application-build.js'))
    .pipe(gulpif(env === 'production', uglify()))
    .pipe(size())
    .pipe(gulpif(env === 'production', gulp.dest('dist/js'), gulp.dest('tmp/js')))
    .pipe(browserSync.reload({ stream: true }));
});

我有一个build任务,它调用许多其他任务作为依赖项(例如,包括这个scripts任务)。我希望这个build任务在运行任务依赖项之前分配一个变量(在本例中为env)。这意味着:

代码语言:javascript
运行
复制
gulp.task('build', ['scripts', 'styles', 'otherstuff'], function() {
  env = 'production';
}

不起作用,因为依赖项在任务主体之前运行。

我目前已经用gulp.start实现了它

代码语言:javascript
运行
复制
gulp.task('build', function() {
  env = 'production';
  gulp.start('scripts');
});

But the .start method isn't actually part of gulp's public API - it comes from Orchestrator -并不打算用来做任何事情。另外,API中的等效方法gulp.run不久前就被弃用了。

所以我想知道--有没有其他方法可以在运行依赖项之前在任务中分配变量?

(或者,也许有更好的方法来实现像用gulp构建环境这样的东西?)

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27253597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档