DOMANDA VECCHIO, vedi sotto per la versione aggiornataCome rendere Symfony2 in grado di caricare file CSS, JS direttamente e non tramite PHP?
mio ambiente di sviluppo non è il più veloce. Prendo circa 500ms per richiesta PHP. Sta cominciando a diventare un problema con i file di risorse Symfony2 perché ognuno dei file di risorse vengono richiesti tramite i controller interni di Symfony:
http://localhost/myproj/app_dev.php/js/bb8690a_part_4_myJavaScriptFile_2.js
Come si può vedere, i file vengono caricati tramite il quadro Symfony e non direttamente. Dal momento che sto iniziando ad avere più di 20 file da caricare, moltiplica quello con i 500 ms rende i carichi di pagina molto lenti. Voglio caricare i file direttamente, ma non sono sicuro di come farlo.
Questo fa parte del config.yml
:
# Assetic Configuration
assetic:
debug: %kernel.debug%
use_controller: false
# java: /usr/bin/java
filters:
cssrewrite: ~
ho pensato impostazione use_controller
-false
lo farebbe, ma no.
C'è un modo per gestire direttamente il caricamento di tali risorse?
UPDATE:
Questo è l'URL si tenta di utilizzare la società:
http://localhost/myproj/_controller/js/bb8690a_part_4_myJavaScriptFile_2.js
ho impostato use_controller
-false
sia per il dev e configurazioni generali. Come faccio a sbarazzarmi della parte _controller
dell'URL?
Edit: Se posso cancellare la cache, eseguire assetic:dump
e hanno use_controller
come false
, poi su di ricarica ottengo Cannot load resource "."
. Non riesco a risolvere il problema a meno che non abiliti temporaneamente lo use_controller
per il caricamento di una pagina. Dopodiché, lo disattivo e lo ricarico e ora richiede da quell'URL non valido che contiene _controller
.
Sembra funzionare anche in prod, ma non in dev. Strano.
codice Template:
{% 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 %}
essere estremamente chiaro: senza app_dev.php (cioè in modalità prod), esso funziona . Solo in dev non lo fa e lancia questo errore "Impossibile caricare la risorsa". "" A meno che prima non abiliti use_controller
per una richiesta, dopo di che posso disabilitarlo e ricaricarlo anche se gli URL conterranno quindi _controller/
nei loro percorsi.
Si prega di mostrare il codice nel modello in cui si chiamano le risorse. – Sgoettschkes
@Boo Ho aggiornato la domanda. – Tower
@Tower puoi scrivere i passi esatti per raggiungere questo obiettivo? – danidacar