资产未显示在开发环境中
Assets are not shown in dev environment
我在 HEAD 块中有这个:
{% stylesheets filter='yui_css' output='css/base.css'
'@MutualContratosBundle/Resources/public/css/ui/south-street/jquery-ui.css'
'@MutualContratosBundle/Resources/public/css/base.css'
filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% block stylesheets %}{% endblock %}
{% javascripts filter='yui_js' output='js/base.js'
'@MutualContratosBundle/Resources/public/js/jquery-1.10.2.js'
'@MutualContratosBundle/Resources/public/js/ui/jquery.ui.core.js'
'@MutualContratosBundle/Resources/public/js/ui/jquery.ui.widget.js'
'@MutualContratosBundle/Resources/public/js/ui/jquery.ui.menu.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
当我加载 app_dev.php 页面时,所有资产都没有显示。当我在 firebug 中看到时,正在尝试加载此类资产:
http://server/app_dev.php/css/base_jquery-ui_1.css
prod环境下没有问题。当我部署和发布资产时,这个 CSS 被复制到 web/css 文件夹中:
http://server/app_dev.php/css/base.css
如您在 twig 模板中所见,我已经定义了输出参数。这就是为什么 css 有这个名字。
如何在开发环境中解决这个问题?
这是 symfony 2.3.2
资产不会自动转储。您必须通过控制台触发生成。
要将它们丢弃一次,运行
app/console assetic:dump --force
您还可以 运行 一个后台任务,该任务会定期扫描您的资产以查找更改并在修改后创建新的转储。
因为你还在SF 2.3,这个后台任务的命令是
app/console assetic:dump --watch --force
请注意,不再维护 SF 2.3。您应该至少升级到 SF 2.7 或 2.8,它们是 currently maintained long-term support versions.
在较新版本的 Assetic 中,与较新的 SF 版本捆绑在一起,watch
命令是
app/console assetic:watch --force
我在 HEAD 块中有这个:
{% stylesheets filter='yui_css' output='css/base.css'
'@MutualContratosBundle/Resources/public/css/ui/south-street/jquery-ui.css'
'@MutualContratosBundle/Resources/public/css/base.css'
filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% block stylesheets %}{% endblock %}
{% javascripts filter='yui_js' output='js/base.js'
'@MutualContratosBundle/Resources/public/js/jquery-1.10.2.js'
'@MutualContratosBundle/Resources/public/js/ui/jquery.ui.core.js'
'@MutualContratosBundle/Resources/public/js/ui/jquery.ui.widget.js'
'@MutualContratosBundle/Resources/public/js/ui/jquery.ui.menu.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
当我加载 app_dev.php 页面时,所有资产都没有显示。当我在 firebug 中看到时,正在尝试加载此类资产:
http://server/app_dev.php/css/base_jquery-ui_1.css
prod环境下没有问题。当我部署和发布资产时,这个 CSS 被复制到 web/css 文件夹中:
http://server/app_dev.php/css/base.css
如您在 twig 模板中所见,我已经定义了输出参数。这就是为什么 css 有这个名字。
如何在开发环境中解决这个问题?
这是 symfony 2.3.2
资产不会自动转储。您必须通过控制台触发生成。
要将它们丢弃一次,运行
app/console assetic:dump --force
您还可以 运行 一个后台任务,该任务会定期扫描您的资产以查找更改并在修改后创建新的转储。
因为你还在SF 2.3,这个后台任务的命令是
app/console assetic:dump --watch --force
请注意,不再维护 SF 2.3。您应该至少升级到 SF 2.7 或 2.8,它们是 currently maintained long-term support versions.
在较新版本的 Assetic 中,与较新的 SF 版本捆绑在一起,watch
命令是
app/console assetic:watch --force