我正在尝试使用Assetic来包含不在捆绑中的基本css和js资产。它们位于MySymfonyApp/app/Resources/public/css/
和MySymfonyApp/app/Resources/public/js/
。
我的base.html.twig
模板中有以下内容,但我收到404s
{% stylesheets '%kernel.root_dir%/Resources/public/css/*' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
{% javascripts
'%kernel.root_dir%/Resources/public/js/jQuery.js'
'%kernel.root_dir%/Resources/public/js/*' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
我也尝试了以下相同的结果。
{% stylesheets '../app/Resources/public/css/*' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
如何引用不在捆绑中的资产?
答案 0 :(得分:1)
<强>溶液强>
app/Resources/public/*
中的资产是一种特殊情况。它们很容易管理。
如果您调用控制台命令,这些 all 将被复制(或符号链接)到web/public/*
:
app/console assets:install web
......或......
app/console assets:install web --symlink
现在可以直接从web
- 文件夹中包含资产。
<script src="{{ asset('js/jquery.js') }}"></script>
提示强>
如果需要从kernel-rootdir的其他目录中获取资源。
您可以这样做:
# app/config/config.yml
assetic:
assets:
css_boostrap:
inputs:
- %kernel.root_dir%/../vendor/twbs/bootstrap/dist/css/bootstrap.min.css
- %kernel.root_dir%/../vendor/myself/bootstrap-theme/*.css
js_jquery:
inputs:
- %kernel.root_dir%/Resources/public/js/jquery.min.js
现在执行控制台命令...
app/console assetic:dump
...并将其包含在您的一个模板中:
{% stylesheets '@css_boostrap' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}