【问题标题】:Symfony 3 - Assetic dump works on dev but doesn't work on prodSymfony 3 - 资产转储适用于开发,但不适用于生产
【发布时间】:2017-10-12 02:02:06
【问题描述】:

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

然后当我尝试在生产模式下测试我的 web 应用程序时,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 %}

如您所见,我从 &lt;root&gt;/web/css/dist/* 获取我的 css 文件,然后在 &lt;root&gt;/web/css/compiled/app.css 上转储文件是在转储时创建的,但并非所有 css 都在那里。

js 文件的过程相同。

【问题讨论】:

  • 你忘记了 - 在 "env" 之前:php bin/console assetic:dump --env=prod 并且当你通过 composer install -o 进行作曲家安装时,你必须优化符号链接
  • 你能解释一下我和作曲家有什么关系吗?只有这个命令,还是我以后安装东西时必须使用它?
  • 您是否也尝试安装您的资产? php bin/console assets:install --env=prod;另外,请向我们展示您的app/config/config.yml
  • 好的,我现在没有运行php bin/console assets:install --env=prod 它工作正常,感谢@tchap
  • 很高兴它有帮助!我在答案中发表了评论,因此如果以后有人偶然发现此问题,您可以接受。

标签: php css symfony assetic


【解决方案1】:

你也需要安装你的资产:

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

【讨论】:

    猜你喜欢
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 2013-11-13
    • 2019-11-12
    • 1970-01-01
    • 2015-10-27
    相关资源
    最近更新 更多