2

现在,我将一些常见的 javascript 文件放在PIPELINE_JS设置中。但我也想根据每个单独的模板加载更具体的 js 文件。我知道我可以简单地添加一个script标签以在每个模板中包含相应的 js 文件,但这会向服务器添加额外的请求,我认为这不是一个好主意。我想做的理想方式是使用PIPELINE基于不同模板来加载、最小化和组合不同的js文件。有没有办法做到这一点?

4

1 回答 1

2

是的,这很简单:

PIPELINE_JS = {
    'stats': {
        'source_filenames': (
          'js/jquery.js',
          'js/application.js',
        ),
        'output_filename': 'js/stats.js',
    },
    'logged_in': {
        'source_filenames': (
          'js/jquery.js',
          'js/collections/*.js',
          'js/application.js',
        ),
        'output_filename': 'js/logged_in.js',
    },
    #and so on..
}

在包含在模板中的同时,

{% load compressed %}
{% compressed_js 'stats' %}

在您希望导入另一个目标的另一个模板中,

{% load compressed %}
{% compressed_js 'logged_in' %} {# or whichever you wish to import #}

阅读文档以获得更好的理解。

于 2013-06-12T17:33:37.970 回答