使用Grunt生成源代码映射

7

你知道有没有一种工作流程可以为使用grunt编译的应用程序包括源映射吗?

我很清楚像uglifyjs这样的插件可以让你简单生成源映射,但我正在寻求将其纳入更复杂的工作流程中,而不仅仅是制作一次性源映射。

我注意到最受欢迎的Yeoman生成器(我所知道的)在它们的工作流程中缺少源映射。这仅仅是因为主要插件对源映射的支持不足吗?还是说源映射在工作流程中并不必要,而我只是想不出足够聪明的替代方案?

我遇到过的受欢迎的grunt插件的麻烦之处包括:

uglify甚至无法处理最基本的项目结构而需要一个hacky修复

usemin无法处理源映射,除了最简单的配置之外,它实际上只能支持每个项目一个(但仍需要hack来纠正)。一个可能的解决方案显然是停止使用usemin,但那样你就失去了所有它的好处,如将其与revwatchconnect配对。

我认为我最好的做法可能是在测试我的应用程序时使用未拼接/未缩小的源。当然,这不是理想的,因为我希望我的测试环境尽可能地反映生产环境。

您在grunt项目中使用源映射吗?你是怎么做到的?如果没有,你是如何克服它们的不支持的?

1个回答

7
更新于02/17/14:
我和Z Goddard正在修复grunt-contrib套件中的源映射。整个套件的计划选项可以在这个repo中阅读。我们还在开发一个新的库,sourcemap-util,它将提供帮助函数,用于生成任何库的源映射。有更多进展时,我会更新这个内容。
我已经做了足够的研究,现在能够回答自己的问题了。
不,目前没有真正好的方法来处理grunt的源映射。
为了使我想要的工作正常运行,usemingrunt-contrib-uglify都需要更新。我向grunt-contrib-uglify提交了一个拉取请求,这是更好的源映射支持的良好开端。带着好运,这个拉取请求将被合并。
至于usemin,我不同意它处理依赖关系的方法。我开始了一个单独的项目,grunt-resourceful,它采用不同的方法。该项目仍处于初期阶段,因此我不建议现在使用它。一旦发布1.0.0,我会更新这个内容。

自从您的拉取请求被合并以来,有什么新进展吗?https://github.com/gruntjs/grunt-contrib-uglify/pull/122 - metakermit
这方面有任何消息吗? - clopez

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