Django-compressor: 支持js源映射

创建于 2013-09-04  ·  20评论  ·  资料来源: django-compressor/django-compressor

Source maps 是一个非常好的工具,可以使用 Chrome Dev Tools 对压缩代码进行调试。 有很多工具可以生成它们,包括 django-compressor 已经支持的 Google 闭包。

这是一些信息: https :

feature

最有用的评论

所有20条评论

我愿意实施它,但我想知道是否有人对此功能感兴趣。

到目前为止,我一直在阅读代码以了解完成此操作所需的条件。

首先,在模板标签方面,至少有两个选项可以打开源映射、压缩器的参数或不同的压缩器: {% compress js sourcemap %}{% compress js-sourcemaps %}

然后,如果源映射选项打开,压缩器应该检查所有大块都是文件,因为您无法为内联生成源映射(我认为,不完全确定)。

最后,也许是最棘手的部分,需要一个压缩器后端,它可以处理文件列表并输出压缩的 js 和源映射文件。

我很想得到一些关于这方面的反馈,以了解我是否在正轨上,或者我是否一切都错了。

这可以通过现有的工具链实现。 我已经设法通过 SASS 获得对 CSS 的基本 sourceMapURL 支持。

例如https://gist.github.com/Nagyman/6542739

这是非常初步的; 评论中提到了一些已知的限制。

我有兴趣。 这将很容易快速调试登台代码。
这个功能有什么进展吗?

是的,我目前正在研究此功能。

@sicarrots我在settings.DEBUG时使用源映射,因为压缩器只是通过原始标签,但在连接和重定位后让它们工作似乎非常棘手。 你如何接近它?

我尝试使用 Compressor 和 uglify.js 取得了一些成功。 现在,我已经将JsCompressor子类化并覆盖了output以处理整个过滤器/连接/过滤器链,并且仅将 Uglify 用于所有活动(连接、压缩、生成源映射)。

@fetzig正是我这样做的理由

@Kos您能否粘贴一些代码以获取灵感? 谢谢乙)

这是我最终使用的: https :

下一步是允许将{% compress js %}用于正常的JsCompressor (因为过滤器/连接/过滤器链有时确实会有所帮助)并设置类似{% compress uglify %}来使用我的自定义类,但我还没有想出通过配置来做到这一点的方法。

编辑::啤酒::-)

:啤酒:@Kos!

+1 该功能!

+1 我也想要这个功能。 能够在生产中调试 JS 压缩文件非常方便。 如果没有,哨兵错误就没有多大意义。

+1 功能,哨兵错误绝对需要:)

+1 用于 js 和 css 源映射

我想看 js/ES6/coffee(甚至 TypeScript) 和 css/sass/less 源映射
🍻

压缩仍然不支持源映射功能吗?

不,它仍然不支持该功能。 欢迎您提交实现此功能的 PR。

仍然可以实现一些“hackish”解决方案,例如:
https://bitbucket.org/imposeren/tabletop-planning/src/7d551806cfee2c5493b7273e40c5448aec480544/tabletop_tools/compressor_filters.py?at=master

需要更好的解决方案来使 PR...

此页面是否有帮助?
0 / 5 - 0 等级