我正在尝试在symfony2中使用assetic来管理我的CSS.链接生成正常.但是,不会生成任何文件.
这是我的配置:
Layout.html.twig
{% stylesheets
'@FooBundle/Resources/public/css/main.css'
filter='cssrewrite'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
Config.yml
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [ FooBundle ]
filters:
cssrewrite: ~
Run Code Online (Sandbox Code Playgroud)
Config_dev.yml
assetic:
use_controller: true
Run Code Online (Sandbox Code Playgroud)
Assetic生成te链接foo.foo/app_dev.php/css/957d3aa_main_1.css.但是,该文件不存在(或其他任何地方).我尝试过使用权限并查看(nginx)日志,但到目前为止还没有.
非常感谢所有的帮助.
Mic*_*ick 35
处理资产时有2个选项.您没有在计算机中看到资产的原因是您选择了选项1.
这意味着在开发环境中生成的每个资产路径都由Symfony动态处理.因此,Assetic会生成CSS和JavaScript文件的路径,这些文件实际上并不存在于您的计算机上.这是一个内部Symfony控制器,可以打开文件并为您回送内容.
优点: - 对您的资产所做的更改立即生效 - 这在开发模式下非常好,因为Symfony会为您动态生成文件
缺点: - 这在prod模式下是不可能的,因为动态渲染每个资源会太慢 - 你的计算机上无法直接访问资产(这就是你无法找到文件的原因) - 如果你使用的话可能会很慢很多过滤器等......
要在开发模式下执行此操作,只需在config_dev.yml中编辑assetic配置:
assetic:
use_controller: true
Run Code Online (Sandbox Code Playgroud)
如果您不想动态处理资产,可以手动转储资产,这意味着实际上在您的计算机上编写资产.
优点: - 不需要Symfony动态生成文件,因此运行速度更快 - 因此,这在prod模式下是完美的 - 文件可以在web /目录中(或者在您选择输出它们的任何地方)进行物理访问
缺点: - 您需要在每次更改内容时转储资产.或者您可以使用--watch命令转储资产,如果您在开发模式下工作,这可能会有点烦人.
去做这个:
将use_controller设置为false(config_dev.yml):
assetic:
debug: %kernel.debug%
use_controller: false
Run Code Online (Sandbox Code Playgroud)
如有必要,您甚至可以选择阅读和输出资产的位置
assetic:
read_from: %kernel.root_dir%/Resources/views/
write_to: %kernel.root_dir%/../web/thefolderyouwant/
Run Code Online (Sandbox Code Playgroud)
现在,输出从您的write_to配置开始
{% stylesheets
'@FooBundle/Resources/public/css/main.css'
output='css/main.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
如果继续,您将遇到资源错误,因此请在config_dev.yml中注释掉或删除这些资产路径:
_assetic:
resource: .
type: assetic
Run Code Online (Sandbox Code Playgroud)
最后,您可以自动生成资产,以便您所做的更改立即生效:
php app/console assetic:dump --watch
Run Code Online (Sandbox Code Playgroud)
在这种情况下,该文件现在应该可用:
/web/thefolderyouwant/css/main.css
有关更多信息,请参阅Cookbook:如何使用Assetic进行资产管理?
| 归档时间: |
|
| 查看次数: |
17198 次 |
| 最近记录: |