Symfony 3 - 资产转储适用于dev,但不适用于prod

时间:2017-10-05 13:48:52

标签: php css symfony assetic

我是symfony 3的新手,我正在尝试开发一个Web应用程序。为了组合我的css和js文件,我已经安装了资产包,我在开发模式下使用它,它工作正常,我没有任何问题。

然后,当我尝试在生产模式下测试我的网络应用程序时,css和js不完整,网站无法正常工作。

我尝试过这两个命令,但一切都没有改变:

  • php bin/console assetic:dump -env=prod
  • php bin/console cache:clear --no-warmup -e prod

使生产工作的唯一方法是在app.php文件上设置$kernel = new AppKernel('prod', true);,但我不认为这是最好的解决方案。

有什么想法吗?

这是我在基本模板上的代码:

{% block stylesheets %}
        {% stylesheets
        'css/dist/bootstrap.css'
        'css/dist/bootstrap-grid.css'
        'css/dist/bootstrap-reboot.css'
        'css/dist/font-awesome.css'
        'css/dist/sidenav.css'
        'css/dist/head.css'
        'css/dist/main.css'
        filter='cssrewrite' output='css/compiled/app.css' %}
        <link rel="stylesheet" href="{{ asset_url }}">
        {% endstylesheets %}
    {% endblock %}

正如您所见,我从<root>/web/css/dist/*获取了我的css文件,并且我在<root>/web/css/compiled/app.css上转储了该文件是在转储时创建的,但并非所有的css都在那里。

js文件的相同过程。

1 个答案:

答案 0 :(得分:1)

您还需要安装资产:

php bin/console assets:install --env=prod