Symfony 3 - 资产转储适用于开发但不适用于生产
Symfony 3 - Assetic dump works on dev but doesn't work on prod
我是 symfony 3 的新手,我正在尝试开发一个网络应用程序。为了合并我的 css 和 js 文件,我安装了 assetic bundle 并在开发模式下使用它,它工作正常,我没有任何问题。
然后,当我尝试在生产模式下测试我的 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 %}
如您所见,我从 <root>/web/css/dist/*
获取 css 文件,然后转储到 <root>/web/css/compiled/app.css
文件是在转储时创建的,但并非所有 css 都存在.
js 文件的相同过程。
您也需要安装您的资源:
php bin/console assets:install --env=prod
我是 symfony 3 的新手,我正在尝试开发一个网络应用程序。为了合并我的 css 和 js 文件,我安装了 assetic bundle 并在开发模式下使用它,它工作正常,我没有任何问题。
然后,当我尝试在生产模式下测试我的 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 %}
如您所见,我从 <root>/web/css/dist/*
获取 css 文件,然后转储到 <root>/web/css/compiled/app.css
文件是在转储时创建的,但并非所有 css 都存在.
js 文件的相同过程。
您也需要安装您的资源:
php bin/console assets:install --env=prod