我无法理解 Assetic 包工作方式背后的原因,不幸的是官方文档并不太冗长。

我只是看不出它处理静态路径和 url 的方式有什么好处。说,

{{ asset("bundles/mybundle/css/main.css") }}

被翻译成“/bundles/mybundle/css/main.css”。什么,只是在它前面加上一个“/”?但我可以手动完成。我期望在 Django 中至少有类似 STATIC_DIR 的东西,它指定所有静态文件所在的位置并作为静态根目录。


{% stylesheets '@MyBundle/Resources/public/css/main.css' %}
    <link rel="stylesheet" href="{{ asset_url }}" type="text/css" media="all" />
{% endstylesheets %}

变得像
<link rel="stylesheet" href="/app_dev.php/css/618ab99_main_1.css" type="text/css" media="all" />

但它不会为您的布局增加任何灵活性 - 当静态文件名更改时,您仍然需要编辑您的布局文件。而且您仍然必须手动编写 HTML“链接”标签。

考虑到您可以使用 Sf2 控制台在 web/dir 中创建指向您的包的公共(public)文件夹的符号链接(symbolic link)这一事实,我发现 Assetic 的工作方式有些模糊。我确定我错过了一些东西,所以我希望有人可以为我清除它。谢谢。

最佳答案

使用一个脚本不会产生太大影响。 Assets 管理还有其他好处:



还有更多,您可以将它们组合起来以减少请求、过滤它、控制 url、缓存等。

Resource

我喜欢 :p

关于symfony - 了解 Assetic 包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6908007/

10-12 04:26