您是否了解包含使用grunt编译的应用的源地图的工作流程?
我很清楚像uglifyjs
这样的插件,可以让您简单地生成源地图。但我正在寻求将其纳入更复杂的工作流程,而不仅仅是制作一次性的源地图。
我注意到最受欢迎的Yeoman发电机(我知道)在工作流程中缺少源地图。这只是因为源地图的主要插件缺乏支持吗?或者是工作流程中不需要源地图,我只是想不出足够聪明的替代方案?
我遇到过流行的grunt插件的明显问题包括:
uglify
unable to handle even the most basic of project structures没有hacky fix。
usemin
也是unable to handle source maps,因为它实际上只能支持每个项目一个(但仍需要黑客来纠正它)。一个可能的解决方案显然是完全停止使用usemin
,但是你会失去它的所有好处,比如将它与rev
,watch
和connect
配对
我认为,当我测试我的应用时,我最好的行动方案可能是使用未连接/未缩小的来源进行测试。当然,这不太理想,因为我希望我的测试环境尽可能地反映生产环境。
您在grunt项目中使用源地图吗?你怎么做呢?如果没有,你如何解决他们缺乏支持的问题?
答案 0 :(得分:7)
更新02/17/14
Z Goddard我正在努力修复grunt-contrib套件中的源映射。可以阅读有关整个套件的计划选项in this repo。我们还在开发一个新的库sourcemap-util
,它将提供辅助函数来生成任何库的源映射。当有更多进展时,我会更新。
我做了足够多的研究,现在能够回答我自己的问题。
没有,现在没有任何好方法可以使用grunt来处理源地图。
usemin
和grunt-contrib-uglify
都需要根据我的意愿进行更新。我向grunt-contrib-uglify
提交了a pull request,这是更好的源地图支持的良好开端。幸运的是,这种拉动将被合并。
对于usemin
,我不同意其处理依赖关系的方法。我已经开始了一个单独的项目grunt-resourceful
,这与事情有所不同。该项目仍处于起步阶段,因此我建议不要立即使用它。我会在1.0.0
发布后更新。