混合使用Grunt和Gulp

6

我在所有涉及Angular项目中使用了Grunt任务运行器。

目前,我发现了一个面向Gulp的gulp-protractor-qa插件,可以即时监视测试中的所有元素选择器。它做得很好,但现在我必须有一个单独的gulpfile.js配置文件来适应另一个构建系统(我无法在Grunt插件中找到合适的替代方案)。

在一个项目中同时使用gruntgulp构建系统是否可行?在这种情况下一般采取哪些措施?


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

2个回答

4
像你说的那样,如果在grunt中没有其他选择,我认为使用两个任务运行器的需求是实际存在的,直到找到或创建等效解决方案。
当你在gulp中添加每个任务时,你当然要注意可能出现的覆盖和冲突,并且对于我来说,永远不要混合使用你的watchers。总是选择在一个运行器中使用它们,因为会导致无限循环。即使在这种情况下,你正在使用gulp-protractor-qa观察文件,但没有运行任何依赖任务并且没有写入文件,所以应该没问题。
此外,由于新的依赖主要是dev的,所以部署的应用程序性能将受到非常轻微的影响,除非你在每次部署时运行测试,这可能需要更长的时间安装它们。

3
看起来在一个前端项目中同时运行两个构建系统出了一些问题。你可以选择从gulp(https://www.npmjs.org/package/gulp-grunt)运行grunt任务,或者反过来,从grunt(https://www.npmjs.org/package/grunt-gulp)运行gulp任务。第一种方法似乎更有效,因为gulp比grunt快得多。考虑完全转向gulp;许多grunt插件都有“本地”gulp替代品。
如果转向gulp似乎是一个选项,但你不喜欢为新工具重写构建配置的想法,请尝试使用一些yeoman-genereators。特别是,我推荐使用很棒的boom generator(npmjs.org/package/generator-boom)。它是今天桌子上带有gulp构建的angular最好的生成器。

这也是一个选项。谢谢。 - alecxe
这是非常有用的信息,因为我对gulp非常陌生,它将在未来帮助我很多。谢谢! - alecxe
请将注释中的信息包含在答案中,使其更具信息性。这也将帮助其他遇到类似问题的观众。再次感谢。 - alecxe
@alecxe 完成了,不用谢!我在同一个项目中遇到了两个构建工具(grunt + brunch)的类似问题,真是太糟糕了。还有其他基于 gulp 的 Angular 生成器,但是 boom 是唯一一个真正可用的,所以我很喜欢它。 - Victor Suzdalev
谢谢,我已经授予Apercu赏金,因为这就是赏金的目的。但是,我将来会再开一个赏金。 - alecxe
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接