所以我有一个棘手的问题,我找不到更好的解决方案。
我使用的是django-compressor,它在压缩/压缩文件方面做得很好。我面临的问题是在部署过程中。有一段时间,我只是在产品上使用compress标签,我只是在所有页面上做了一个卷曲,以确保它重新生成正确的CSS/JS。因此,新用户不必感受到压缩过程的首当其冲。
我知道它有一个管理命令,它可以对文件进行预压缩,然后可以将文件推送到CDN,也许还可以在登录/登录页面的后台预加载文件。
这就是问题所在,在一些javascript代码中,我使用了上下文变量和django标记,既有自定义的,也有本地的。
var first = '{% some_tag some_context_var %}';
var name = '{{some_context_var}}';这会导致错误,因为在压缩期间,它会尝试执行该标记,而该标记显然没有这些值。它确实附带了COMPRESS_OFFLINE_CONTEXT,但它不是动态的。
以前有人遇到过这个问题吗?如果代码中混合了一些django标记/上下文变量,如何进行压缩?
发布于 2013-09-04 03:57:06
找到了解决这个问题的方法。
基本上,将变量移到压缩器外部的它们自己的脚本块中,然后在压缩代码中使用这些变量。例如:
<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); https://stackoverflow.com/questions/18598928
复制相似问题