【问题标题】:Mixing grunt and gulp混合 grunt 和 gulp
【发布时间】:2014-08-04 07:07:28
【问题描述】:

在我参与的所有 Angular 项目中,我一直在使用 grunt task runner。

目前,我发现了一个用于 gulp 的 gulp-protractor-qa 插件,它可以在测试中实时监视我的所有元素选择器。它擅长做什么,但现在我必须为另一个构建系统单独配置gulpfile.js(我在grunt 插件中找不到合适的替代方案)。

可以在一个项目中同时使用gruntgulp 构建系统吗?在这种情况下,普遍接受的行动是什么?


gulp-protractor-qa 只是一个例子。我可以想象,当我在两个构建系统中都需要不同的合适插件并且必须做出选择时,这会再次打击我:尝试坐在两把椅子上?

【问题讨论】:

    标签: javascript angularjs gruntjs gulp grunt-plugins


    【解决方案1】:

    就像你说的,如果你没有任何其他选择 grunt,我认为在找到或创建等效解决方案之前,需要同时使用这两个任务运行器。

    您当然应该注意您在gulp 中添加的每个任务可能带来的覆盖和冲突,对我来说,永远不要混用您的watchers。始终选择在导致无限循环的一个或另一个跑步者中使用它们。即使在这种情况下 gulp-protractor-qa 您正在查看文件,也没有运行相关任务并且没有写入任何内容,所以您应该没问题。

    此外,由于新的依赖项将主要是 dev 的,所以部署应用程序的性能会受到非常轻微的影响,除非您在每次部署时运行测试,这可能需要更长的时间来安装他们。

    【讨论】:

      【解决方案2】:

      在一个前端项目中运行两个构建系统似乎出了点问题。您可以选择从 gulp (https://www.npmjs.org/package/gulp-grunt) 运行 grunt 任务,反之亦然,从 grunt (https://www.npmjs.org/package/grunt-gulp) 运行 gulp 任务。第一种方式看起来更高效,因为 gulp 比 grunt 快得多。考虑完全吞咽;许多 grunt 插件都有“原生”gulp 对应物。

      如果迁移到 gulp 似乎是一种选择,但您不喜欢花费所有时间为新工具重写构建配置的想法,请尝试使用一些 yeoman-genreators。特别是,我建议使用很棒的繁荣生成器 (npmjs.org/package/generator-boom)。它是当今最好的 angular 生成器,可从桌面上的盒子中生成 gulp。

      【讨论】:

      • 这也是一个选项。谢谢。
      • @alecxe 还要提一件事。如果迁移到 gulp 似乎是一种选择,但您不喜欢花费所有时间为新工具重写构建配置的想法,请尝试使用一些 yeoman-generators。特别是,我建议使用很棒的动臂发生器 (npmjs.org/package/generator-boom)。它是当今桌面上最好的 angular 生成器。
      • 这是一个非常有用的信息,因为我对 gulp 还很陌生,所以它对我将来会有很大帮助。谢谢!
      • 请将评论中的信息包含在答案中,以提供更多信息。这也将帮助其他有类似问题的观众。再次感谢。
      • @alecxe 完成,不客气!我刚刚在同一个项目中使用两个构建工具(grunt + brunch)遇到了类似的问题,这很糟糕。还有另一种 gulp 驱动的角度发生器,但只有繁荣是真正工作的,所以我非常喜欢它。
      猜你喜欢
      • 1970-01-01
      • 2016-02-25
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多