最近我尝试了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 代码时,总是会出现此错误。所有解析器和所有编译器/压缩器都失败了。
现在,虽然我喜欢更多的django-compressor而不是django-pipeline,但我正在使用最后一个。此时,没有报告压缩问题。
感谢所有试图帮助我的人。
你试过吗?Django Compressor的JS编译器在模板节点渲染后开始工作,IMO。因此,{{ django_vars }}
或{% django_tags %}
在压缩之前已经由模板中的输出替换。
如果{{ django_vars }}
或{% django_tags %}
按视图/模板更改。它不能压缩为一段代码。您最好将这些部分从主JS代码块移动到JS块并单独压缩。