Symfony Assetic - url 中的第 1 部分

问题描述 投票:0回答:1

好吧,我一直在寻找对此的一些输入,但没有找到任何可以直接帮助的内容(仅提到这个问题与其他问题相关)。

基本上,我在查找 assetic 文件与实际生成的文件时遇到 assetic 生成的路径问题。

它尝试加载的路径是:/js/admin_part_1.js,而它生成的文件只是/js/admin.js

我正在转储文件:

php app/console assetic:dump --env=prod --no-debug

config.yml 的相关部分:

assetic:
debug:          "%kernel.debug%"
use_controller: false
filters:
    cssrewrite: ~
assets:
    admin_js:
        inputs:
            - @UserBundle/Resources/js/admin-tools.js
        output: js/admin.js

通过以下方式加载 javascript 标签:

{% javascripts '@admin_js' output='js/admin.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

我的问题是,这个幻像 _part_1 来自哪里,我怎样才能告诉它停止添加它?

javascript php symfony assetic
1个回答
0
投票

我猜这是用来版本文件的。即使在代码中您看到

assets/css/my_file.css
并且在渲染的 HTML 中您看到
assets/css/my_file.09280929.css
,Assetic 也知道要获取哪个文件。通常,在
public/assets/mybundle/...
中生成。

Assetic 将生成一个带有某种哈希值的文件,该文件将存储在缓存中。

但是下次,如果资产发生变化,那么哈希值也会发生变化,这将允许自动缓存刷新。

如果您确实需要,可以通过将配置

read_from
write_to
更改为 null 来禁用它:

assetic:
    read_from: ~
    write_to: ~

并在调用资源文件的模板中将版本控制添加为 null:

<link rel="stylesheet" href="{{ asset('css/my_file.css', version=null) }}" />
© www.soinside.com 2019 - 2024. All rights reserved.