他已经在本地服务器上的开发环境中创建了一个Symfony2应用程序,当我完成它时,我将它上传到服务器。在服务器上它显示正确,但它不检测.js和.css文件。我想问题来自我在开发环境中使用的Assetic。我已经看到在开发环境中你必须运行php app / console asetic: dump --env = prod --no-debug
,但在我的免费托管中我无法运行命令行。
我的配置文件配置。 yml如下:
# Assetic Configuration
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ ]
#java: /usr/bin/java
filters:
cssrewrite: ~
#closure:
# jar: "%kernel.root_dir%/Resources/java/compiler.jar"
#yui_css:
# jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
这是我第一次部署这种类型的项目,所以我不太清楚如何做到这一点。你能告诉我必须采取哪些措施来解决这个问题吗?
提前致谢
修改
我的布局中有这个:
<link href="{{ asset('bundles/school/css/estilo.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('bundles/backend/js/jquery-ui/jquery-ui.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('bundles/school/js/e-calendar-master/css/jquery.e-calendar.css') }}" rel="stylesheet" type="text/css" />
...//some more
并且正在运行app/console asetic:dump --env=prod
我只能得到这个:
Dumping all prod assets.
Debug mode is off.
寻找信息我见过这样的事情:
{% stylesheets
'bundles/school/css/estilo.css'
'bundles/backend/js/jquery-ui/jquery-ui.css'
'bundles/school/js/e-calendar-master/css/jquery.e-calendar.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
有了这个,我在web / css文件夹中创建一个.css文件
我可以解决一些问题吗?
答案 0 :(得分:0)
首先需要将config.yml文件包列表添加到需要包含assetic的bundle param中:
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ AppBundle, DesignBundle ],
filters:
cssrewrite: ~
然后你需要执行命令来生成文件:
bin/console assets:install
bin/console assetic:dump --env=prod
更新#2:
在twig模板中尝试使用类似的东西:
{% stylesheets filter='cssrewrite'
'bundles/app/public/css/main.css'
{# or #}
'@AppBundle/Resources/public/css/main.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
和js
{% block javascripts %}
{% javascripts
'bundles/app/public/js/main.js'
{# or #}
'@AppBundle/Resources/public/js/main.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock javascripts %}