资产未显示在开发环境中

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