除了一个之外,我可以在所有压缩块上使用过滤器吗?

时间:2015-07-21 18:51:02

标签: django-compressor

在我的压缩器设置中,我正在使用SlimIt来处理我的大多数javascript:

COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.SlimItFilter', ]

我的一些js文件不应该通过SlimIt,因为文件已经缩小,或者当javascript与其他文件缩小时会抛出一些错误。我的模板块最终看起来像这样:

{# code that I minify #}
{% block compressed_libs %}
    {% compress js %}
        <script src="/static/js/compress_this.js"></script>
        <script src="/static/js/also_compress_this.js"></script>
        ...
    {% endcompress %}
{% endblock %}

{# code that shouldn't minify #}
{% block non-compressible_libs %}
    <script src="/static/js/already.min.js"></script>
    <script src="/static/js/breaks-everything.js"></script>
{% endblock %}

我是否可以为不同的块/文件设置不同的压缩过滤规则,以便在跳过SlimIt时仍然可以通过压缩器将我的“不可压缩”文件连接在一起?

1 个答案:

答案 0 :(得分:1)

正如approxiblue所述,它看起来没有办法在模板中指定每个压缩块使用哪些过滤器(在Compressor 1.5中)。

我会更新这个回答有人想出的东西。

似乎可以通过向compress template tag添加参数来解决此问题,以允许return a CompressorNode使用标记跳过filter in base.py hunks()

我会看到Compressor社区对此的看法,但如果您有任何想法,请告诉我。