最近我尝试过Django-Compressor。它太棒了,我太喜欢了,但是我遇到了离线压缩(COMPRESS_OFFLINE = True
)和模板标签的麻烦。
我的JS代码中有{{ django_vars }}
和{% django_tags %}
,我猜Google Clousure编译器(我使用Django-Compressor的过滤器)并不知道识别它们。事实上,我认为像{% if something %}
这样的Django模板结构已被删除。
如何在压缩后将所有这些模板变量/标记保存在我的代码JS中?
感谢队友。
修改:
最后,我发现了COMPRESS_OFFLINE
使用的所有问题,它们都是由于一个错误而发生的。它们不是关于JS代码中的Django语法。当你试图在文件.html中压缩JS代码而不是外部JS时,总会出现这个bug。它失败了所有解析器和所有编译器/压缩器。
现在,虽然我比django-pipeline更喜欢django-compressor,但我还是使用了最后一个。此时,压缩报告没有问题。
感谢所有试图帮助我的人。
答案 0 :(得分:0)
你试过吗? Django Compressor的JS编译器开始工作 AFTER 模板节点,IMO。因此,在压缩之前,{{ django_vars }}
或{% django_tags %}
已被模板中的输出替换。
如果每个视图/模板更改了{{ django_vars }}
或{% django_tags %}
。它无法压缩到一段代码。您最好将这些部分从主JS代码块移动到JS块并单独压缩它。