6

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

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

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


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

4

2 回答 2

4

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

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

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

于 2014-08-04T09:02:02.017 回答
3

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

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

于 2014-09-19T13:21:23.680 回答