pregunta de siempre, ver más abajo para la versión actualizada¿Cómo hacer que Symfony2 cargue CSS, archivos JS directamente y no a través de PHP?
Mi entorno de desarrollo no es el más rápido. Tomo aproximadamente 500ms por solicitud de PHP. Está empezando a convertirse en un problema con los archivos de recursos de Symfony2 porque cada uno de los archivos de recursos se solicitan a través de los controladores internos de Symfony:
http://localhost/myproj/app_dev.php/js/bb8690a_part_4_myJavaScriptFile_2.js
Como puede verse, los archivos se cargan a través del framework Symfony y no directamente Como estoy empezando a tener más de 20 archivos para cargar, multiplicar eso con los 500 ms hace que la página cargue muy lento. Quiero cargar los archivos directamente, pero no estoy seguro de cómo hacerlo.
Esto es parte de la config.yml
:
# Assetic Configuration
assetic:
debug: %kernel.debug%
use_controller: false
# java: /usr/bin/java
filters:
cssrewrite: ~
pensé establecer use_controller
-false
lo haría, pero pues no.
¿Hay alguna manera de manejar la carga de esos recursos directamente?
ACTUALIZACIÓN:
Esta es la URL que intenta utilizar ahora:
http://localhost/myproj/_controller/js/bb8690a_part_4_myJavaScriptFile_2.js
he puesto a use_controller
false
tanto para dev y configuraciones generales. ¿Cómo me deshago de esa parte de la URL _controller
?
Editar: Si puedo borrar la memoria caché, ejecute assetic:dump
y tienen use_controller
como false
, a continuación, tras la recarga consigo Cannot load resource "."
. No puedo evitar ese problema a menos que active temporalmente use_controller
para cargar una página. Después de eso, lo deshabilito y vuelvo a cargar, y ahora solicita desde esa URL inválida que contiene _controller
.
Parece que también funciona en prod, pero no en dev. Extraño.
código Plantilla:
{% 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 %}
para ser extremadamente claros: sin app_dev.php (es decir, en el modo de prod), que funciona . Solo en dev no funciona y arroja este error "No se puede cargar el recurso". "" A menos que primero active use_controller
para una solicitud, después de lo cual puedo inhabilitarlo y volver a cargar aunque las URL contendrán _controller/
en sus rutas.
Por favor, muestre el código en su plantilla donde llama a los activos. – Sgoettschkes
@Boo He actualizado la pregunta. – Tower
@Tower ¿puede anotar los pasos exactos para lograr esto? – danidacar