gpt4 book ai didi

symfony - 在 Debug模式下连接的 Assetic Assets 集合

转载 作者:行者123 更新时间:2023-12-04 15:42:56 25 4
gpt4 key购买 nike

我正在尝试在 Symfony 2 项目中使用 Assetic。我的 config.yml 中有以下设置:

# app/config/config.yml
assetic:
debug: %kernel.debug%
use_controller: true
filters:
cssrewrite: ~
yui_css:
jar: /home/testing/bin/yuicompressor-2.4.7.jar
less:
node: /usr/bin/node
node_paths: [/usr/local/bin/]
apply_to: "\.less$"
assets:
all_js:
inputs:
- @FoundationViewBundle/Resources/public/js/*
filters: [?yui_js]
all_css:
inputs:
- @FoundationViewBundle/Resources/public/css/*
filters: [less, ?yui_css]

(如果您想知道,这些设置不会在 config_dev.yml 文件中被覆盖。)

这些集合由 Assetic 选取并为它们创建路由。每个文件都有单独的路由,带有编号和不带文件扩展名的文件名。例如,对于“base.css”文件,下载文件(应用过滤器)的路径是“/assetic/all_css_part_1_base_1”。

然后我将 Assets 集合包含在我的 Twig 模板中,如下所示:
{% stylesheets '@all_css' %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}

(对于“all_js”集合也类似,但我将使用 css 方面来演示我的问题。)

当 Twig 呈现我的模板时,它不使用为单个文件创建的路由,而是将“all_css”集合的“asset_url”显示为“/css/9118a5a_part_1.css”。

我正在使用开发前端 Controller 并测试了 Assetic 认为它处于 Debug模式。 (不应用仅限生产的过滤器。)然而,尽管文档另有建议,但文件仍在连接。

由于行号不匹配,因此很难追踪这些文件中的问题,尤其是 JavaScript 错误。为了让 Twig 单独显示文件,我还需要做些什么吗?

最佳答案

您必须指定 ouput您的 Twig 块中的参数如下。

{% javascripts '@all_js' output="assetic/js/all.min.js" debug=false %}
<script type="text/javascript" charset="utf-8" src="{{ asset_url }}">
{% endjavascripts %}

{% stylesheets '@all_css' output="assetic/css/all.min.css" debug=false %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}

最好是依靠 output 中指定的参数config.yml 但不幸的是它不起作用。它可以在转储 Assets 时输出正确的文件,但不会在 Twig 中自动插入 Assets 。 您必须像在前面的示例中一样指定它。

这里的 debug 参数是可选的,它旨在强制特定集合的 Debug模式并输出不同的文件。您也可以在 中设置此参数config.yml .
assets:
all_js:
inputs:
- @FoundationViewBundle/Resources/public/js/*
filters: [?yui_js]
output: "assetic/css/all.min.js"
debug: true

关于symfony - 在 Debug模式下连接的 Assetic Assets 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11146939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com