在传递到下一个任务之前访问src参数的值

奥马尔

我正在使用Gulp使用gulp-msbuild构建我的Web项目。但是,我有多个Web项目,这些项目需要具有不同的构建参数才能发布到正确的文件夹中。

这是我的gulpfile.js的一部分:

gulp.task('publish', function () {
    var webProjectsPaths = [
        '/Project1/Project1.csproj'
        '/Project2/Project2.csproj'
    ];

    return gulp
        .src(webProjectsPaths)
        .pipe(msbuild({
            targets: ['WebPublish'],
            toolsVersion: 14.0,
            errorOnFail: true,
            stdout: true,
            properties: {
                Configuration: 'Debug',
                WebPublishMethod: 'FileSystem',
                DeleteExistingFiles: true,
                PublishUrl: 'Publish/##csproj file name without the extension##'
            },
        }));
});

我想在传递给任务.src之前访问传递给它的每个路径,msbuild以便进行PublishUrl动态处理(请参阅参考资料##csproj file name without the extension##)。

诗篇

如果将该gulp管道移至某个函数中,则该函数可以确定路径并提前发布url。

// returns one stream that builds one project
function buildWebProject(projectName) {
  var path = '/' + projectName + '/' + projectName + '.csproj';
  var publishUrl = 'Publish/' + projectName;

  return gulp.src(path)
    .pipe(msbuild({
      targets: ['WebPublish'],
      toolsVersion: 14.0,
      errorOnFail: true,
      stdout: true,
      properties: {
        Configuration: 'Debug',
        WebPublishMethod: 'FileSystem',
        DeleteExistingFiles: true,
        PublishUrl: publishUrl
      }
    }));
}

然后在您的“发布” gulp任务中,使用该功能为每个项目创建一个流,并使用诸如merge-stream之类的模块将这些流组合为单个流,然后返回合并的流。

var mergeStream = require('merge-stream');

gulp.task('publish', function () {
  var webProjects = [
    'Project1',
    'Project2'
  ];

  var streams = webProjects.map(buildWebProject);

  return mergeStream(streams);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将参数从一个命令传递到下一个命令

SQL SELECT:在“ as”之前的下一个选定参数中,在“ as”之后使用分配的值

更好的方法来求和之前到下一个值 javascript

如何将stdout中的值作为下一个命令的参数传递

如何将字段值作为参数传递给下一个视图 Django?

将动作传递到下一个按钮

将ImageView传递到下一个活动

将/循环2寄存器输出行(每个都有值列表)传递到Ansible中的下一个任务

将值传递给下一个viewController

C ++在继续下一个任务之前先完成当前任务

解析:在移至下一个任务之前先查询finsih任务

如何在下一个js的无状态函数中将img src作为参数传递?

“传送”值到下一个.map

汇总从“S”到下一个的列值

汇总到系列中的下一个值

在继续执行下一个任务之前,使gulp同步写入文件

在为下一个成员运行循环之前完成任务

Retrofit2:在 recyclerview 中执行下一个任务之前等待响应

将i与下一个值进行比较,并访问最后一个值

将上一个命令的输出传递到下一个命令

将日期从一个函数传递到下一个函数

将数据从一个SKScene传递到下一个

将结果从一个“ for”循环迭代传递到下一个迭代?

从一个组件到下一个组件的Angular 2传递事件

将响应数据从一个 http 请求传递到下一个

TextEdit 值被传递给另一个活动,但当重新访问下一个活动时,使用 JAVA 的 Android Studio 值会丢失

无法将数组传递给 AWS StepFunction 中的下一个任务

也可以访问上一个和下一个值的Python循环

如何点击img src并将其传递给下一个视图函数