Joe*_*oss 10 django hash source-maps gulp
在我们的Django项目中,我们使用Gulp来编译我们的资产,然后使用UglifyJS来缩小它们.在整个过程中,我们正在生成源图,它们似乎正常工作.
当我们使用Django static模板标记来包含我们的缩小文件时,问题就来了.假设我们有一个缩小的JS文件ourapp.min.js.在我们的模板中,我们会写:
<script src="{% static 'ourapp.min.js %}"></script>
Run Code Online (Sandbox Code Playgroud)
这将编译成如下:
<script src="/ourstaticroot/ourapp.min.0123456789ab.js"></script>
Run Code Online (Sandbox Code Playgroud)
(0123456789ab文件内容的散列在哪里)
现在的问题是,虽然文件已被重命名,但我们的源图仍指向旧文件名,因此突然变得无效.如果我们需要调试这个页面(例如,使用Sentry)它找不到源文件,我们就会调试uglified文件,这就变成了一个更重要的任务.
有谁知道解决这个问题的好方法?我们希望继续使用Gulp作为我们的资产,并继续使用散列文件名,因为这可以防止因过时资产文件的缓存而导致的问题.
这并不重要,因为原始文件被保留。因此,如果你的文件指向一个没有哈希值的映射,那么它应该由 Django 提供服务。当然,您需要小心长期过期标头。如果您使用whitenoiseare 就可以了,因为它们可以正确处理过期并且长期过期标头仅在散列文件上设置。
干杯-乔
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |