所以我有一个棘手的问题,我无法找到更好的解决方案。
我正在使用django-compressor
,它在压缩/缩小文件方面做得很好。我面临的问题是在部署期间。有一段时间,我一直在制作中使用compress
标签,我只是在所有页面上做一个卷曲,以确保它重新生成正确的CSS / JS。这样,新用户就不必感受到压缩过程的冲击。
我知道它有一个管理命令,它可以预压缩文件,然后可以将其推送到CDN,并可能在登陆/登录页面的幕后预加载它们。
这是一个问题,在一些javascript代码中,我使用的是上下文变量和django标签[自定义和本机]。
var first = '{% some_tag some_context_var %}';
var name = '{{some_context_var}}';
这会导致错误,因为在压缩期间它会尝试执行显然没有值的标记。它确实附带COMPRESS_OFFLINE_CONTEXT
,但它不是动态的。
之前是否有人遇到此问题。如果代码与某些django标签/上下文变量混合在一起,你如何进行压缩?
答案 0 :(得分:0)
找到解决此问题的方法。
基本上将变量移动到压缩器外部的自己的脚本块中,然后在压缩代码中使用这些变量。 e.g。
<script type="text/javascript">
var some_var = '{% something ctx_var %}';
</script>
{% compress js %}
//before it was do_something_function('{% something ctx_var %}')
do_something_function(some_var);