我一直在参与的所有角项目中使用grunt任务运行器。
目前,我找到了一个用于gulp的gulp-protractor-qa
插件,它可以在运行中查看测试中的所有元素选择器。它擅长它的功能,但现在我必须为另一个构建系统提供单独的gulpfile.js
配置(我在grunt
插件中找不到合适的替代方案。)
在单个项目中同时使用grunt
和gulp
构建系统是否可以?在这种情况下,普遍接受的行动是什么?
gulp-protractor-qa
只是一个例子。我可以想象当我在两个构建系统中需要不同的合适插件并且必须做出选择时,这会再次打击我:尝试坐在两把椅子上?
答案 0 :(得分:4)
就像你说的,如果你没有grunt
的任何其他选择,我认为在找到或创建等效的解决方案之前,需要使用两个任务运行器。
您当然应该注意gulp
中添加的每项任务可能出现的覆盖和冲突,对我来说,永远不要混淆watchers
。总是选择在无限循环的一个或另一个运行器中使用它们。即使在这种情况下使用gulp-protractor-qa
您正在观看文件,也没有任何依赖任务运行且没有任何内容写入,因此您应该没问题。
此外,由于新的依赖项主要是dev
,因此部署的应用程序的性能会受到轻微影响,除非您在每次部署时运行测试,这可能需要更长的时间安装它们。
答案 1 :(得分: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。特别是,我建议使用超棒的发电机(npmjs.org/package/generator-boom)。它是最好的角度生成器,从今天桌子上的盒子中生长出来。