我的开发环境不是最快的。我每个PHP请求大约需要500ms。它开始成为Symfony2资源文件的问题,因为每个资源文件都是通过Symfony的内部控制器进行请求:
http://localhost/myproj/app_dev.PHP/js/bb8690a_part_4_myJavaScriptFile_2.js
可以看出,这些文件是通过Symfony框架而不是直接加载的。由于我开始拥有超过20个文件要加载,所以将其与500ms相乘使页面加载速度非常慢。我想直接加载文件,但我不知道该怎么做。
这是config.yml的一部分:
# Assetic Configuration assetic: debug: %kernel.debug% use_controller: false # java: /usr/bin/java filters: cssrewrite: ~
我以为设置use_controller为false会这样做,但是不要。
有没有办法直接处理这些资源的加载?
更新:
这是现在尝试使用的URL:
http://localhost/myproj/_controller/js/bb8690a_part_4_myJavaScriptFile_2.js
我已经将use_controller设置为false为dev和一般配置。如何摆脱该_controller部分的URL?
编辑:如果我清除缓存,运行assetic:dump和use_controller为false,然后重新加载我得到无法加载资源“。”。我无法解决这个问题,除非我临时启用use_controller一个页面加载。之后,我禁用它并重新加载,现在它从包含_controller的无效URL请求。
它似乎在prod中工作,但在开发中却不起作用。奇怪。
模板代码:
{% stylesheets filter="cssrewrite" 'bundles/outotecofil/css/reset.css' 'bundles/outotecofil/css/*' output='css/dist/dist.css' %} <link rel="stylesheet" href="{{ asset_url }}" /> {% endstylesheets %} {% javascripts '@OutotecCommonBundle/Resources/public/js/jquery-1.6.2.min.js' '@OutotecCommonBundle/Resources/public/js/jquery-ui-1.8.16.custom.min.js' '@OutotecCommonBundle/Resources/public/js/chosen.jquery.min.js' '@OutotecCommonBundle/Resources/public/js/widget/*' '@OutotecOFILBundle/Resources/public/js/OFILDependencyManager.js' '@OutotecOFILBundle/Resources/public/js/widget/*' '@OutotecOFILBundle/Resources/public/js/plant-scope.js' output='js/dist/dist.js' %} <script src="{{ asset_url }}"></script> {% endjavascripts %}
要非常清楚:没有app_dev.PHP(即在prod模式下),它可以工作。只有在dev它不会抛出这个“无法加载资源”。“”错误,除非我首先启用use_controller一个请求,之后我可以禁用它,并重新加载,然后URL将包含_controller /在他们的路径。