For 循环中的 Grunt 运行

2024-03-16

我是咕噜声的新手。

我有一个适用于单个构建的 gruntfile。有几个目标链接在一起来完成该过程。问题是我需要使用变量数据创建几个不同的版本。我正在尝试弄清楚如何在我的 gruntfile 中执行此操作。

今天,要进行构建,我只需要运行

grunt --foo=bar build

or

grunt --foo=baz build

我想要并且尝试做的是创建一个使用数组来定义 foo 数据的构建所有目标,如下所示:

grunt.registerTask('build-all', function() {
    var foos = ["bar", "baz"];
    for (var i in foos) {
        grunt.config.set("foo", foos[i]);
        grunt.task.run("build");
    }
});

从表面上看,运行任务似乎是非阻塞的。这意味着“foo”在第一次运行之前被设置为“baz”,运行两次以获得相同的值。

在这种情况下有更好的方法来设置参数/选项吗?或者以阻塞方式运行任务?


我最近遇到了同样的问题,并写道咕噜镀锌 https://github.com/dylancwood/grunt-galvanize.git来帮助解决这个问题。以下是它的工作原理,应用于您的示例:

grunt.registerTask('build-all', function() {
    var foos = ["bar", "baz"];
    var galvanizeConfig = [];

    for (var i in foos) {
        galavanizeConfig.push({configs: {foo: foos[i]}});
    }
    grunt.option('galvanizeConfig', galvanizeConfig);
    grunt.task.run(['galvanize:build']);
});

这将运行build任务与指定的每个选项/配置galvanizeConfig.

附言。对于需要并发的情况,我也会使用 grunt-multi,但对于不需要并发的情况,grunt-galvanize 是一个更简单的工具。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

For 循环中的 Grunt 运行 的相关文章

随机推荐

  • ES7只由两个特性组成吗?

    根据这个博客 https webapplog com es7 es8 https webapplog com es7 es8 ES7的特点是 Array prototype includes 求幂运算符 这是正确的吗 如果是的话 为什么花了
  • 字符串值前面的“u”符号是什么意思? [复制]

    这个问题在这里已经有答案了 是的 简而言之 我想知道为什么我在我的键和值前面看到一个 u 我正在渲染一个表单 该表单具有特定标签的复选框和一个用于 IP 地址的文本字段 我正在创建一个字典 其键是硬编码在 list key 中的标签 字典的
  • ViewPager 和数据库

    数据位于数据库中 因此我通常会使用 CursorAdapter 并让它与 ListView 上的 CursorLoader 一起使用 但是现在我需要一个 ViewPager 而不是 ListView 它需要一个 PagerAdapter 而
  • Go 中的随机数组

    我尝试将以下 Python 代码翻译为 Go import random list i for i in range 1 25 random shuffle list print list 但发现我的 Go 版本又长又尴尬 因为没有 shu
  • 结合代码契约和正则表达式

    所以我有一个非常简单的类 其中一个字符串作为属性 该字符串必须具有一定的模式 我正在尝试使用代码合同来强制执行此操作 这个类看起来像这样 class SimpleClass public Property get set public Si
  • 在 UITableViewCell 中播放视频

    我正在尝试在单元格本身中播放视频 而不是全屏视频显示 我在用MPMoviePlayerController以此目的 我已经定义了 MPMoviePlayerController moviePlayer 在实施部分 Then in cellF
  • 查找 HTML5 表单用于验证的正则表达式

    一些 HTML5 输入元素接受pattern属性 它是用于表单验证的正则表达式 其他一些 HTML5 输入元素 例如 input type email自动进行验证 现在看来 跨浏览器处理验证的方式是不同的 给定一个特定的浏览器 比如 Chr
  • JSP/Servlet 中的倒计时器

    我正在使用 servlet jsp 开发在线考试 我需要在问题页面添加一个倒计时 hh mm ss 计时器 该计时器将结束考试并重定向到结果页面 除了计时器功能之外 我已经完成了所有其他功能 有人可以为此提供一些帮助吗 Thanks 您是否
  • 如何将本地数据存储数据导出到生产 Google App Engine 数据存储

    我想将本地数据存储数据导出到我的 google appengine 应用程序数据存储 有没有直接且简短的方法可以做到这一点 你可以阅读相关内容here http code google com appengine docs python t
  • STM32内部时钟

    我对 STM32F7 设备 意法半导体的 Cortex M7 微控制器 上的时钟系统感到困惑 参考手册没有充分阐明这些时钟之间的差异 SYSCLK HCLK FCLK 参考手册中阅读章节 gt RCC 为 Cortex 系统定时器 SysT
  • Angular 4 预定表单自动保存

    我正在尝试在 Angular 4 中实现表单数据自动保存 它应该像这样工作 用户更改表单中的某些数据 gt 调用对数据库的某些保存请求 我们假设这里启动了一些计时器 2 秒 在上一个保存请求之后的 2 秒内 所有更改都不会调用任何请求 以减
  • 为什么我的书呆子树有这些奇怪的字符

    尝试让 vim 设置顺利进行 我想让书呆子树发挥最佳状态 但是当我使用它时 它的每个部分前面都有这些字符 V 看起来像这样 V project V tools 我遇到了完全相同的问题 并且能够通过取消注释 UTF 8 并在 etc loca
  • 使用 HTML 和 CSS 扩展大括号

    有没有一种简单的方法可以模拟cases提供的环境amsmath在 LaTeX 中使用 HTML 和 CSS 例如 在 LaTeX 中 可以这样写 documentclass article usepackage amsmath begin
  • SQL Anywhere 11,JZ0C0:连接已关闭

    我开发基于 apache tomcat 6 0 26 apache cxf 2 2 7 spring 3 0 hibernate 3 3 和 sybase sqlanywhere 11 的 Web 服务 我使用 SYBASE jconn j
  • 使用回形针上传多个文件

    我在使用回形针上传多个文件时遇到问题 我的模型是这样的 slider has many imgarrays imgarrays has many imageobjects imageobjects have attachment as fo
  • Android 中的 WorkManager 多次执行 do Work()

    我正在使用 WorkManager 来安排一些任务 但问题是工作管理器在一次调用中多次执行这些任务 doWork 我在用 android arch work work runtime 1 0 0 alpha08 我尝试过使用 alpha07
  • 如何在 Google 云端硬盘中搜索子文件夹和子子文件夹?

    这是一个常见问题 场景是 folderA folderA1 folderA1a folderA2 folderA2a folderA2b 问题是如何列出根目录下所有文件夹中的所有文件folderA 编辑 2020 年 4 月 Google
  • 在 ASP.NET c# 中重定向到另一个页面之前显示 ClientScript 警报?

    我必须在这里解决一个问题 我正在开发一个系统 我不断地向用户显示消息 例如 我正在添加一个新客户端 我输入所有数据并按 保存 在 C 上我所做的就是完成所有保存过程 然后我使用 ClientScript RegisterStartupScr
  • 如何在没有 VS 6.0 的计算机上安装 Microsoft FlexGrid Control 6.0?

    我的 VB NET 应用程序使用 Microsoft Flex Grid Control 6 0 这是一个遗留应用程序 已通过 Visual Studio 转换向导从 VB6 移植 虽然我可以编译程序集 但由于某些类未注册 我收到了 COM
  • For 循环中的 Grunt 运行

    我是咕噜声的新手 我有一个适用于单个构建的 gruntfile 有几个目标链接在一起来完成该过程 问题是我需要使用变量数据创建几个不同的版本 我正在尝试弄清楚如何在我的 gruntfile 中执行此操作 今天 要进行构建 我只需要运行 gr