2013-08-19 16 views
5

Uso un front-end angolare con Symfony. Quando dichiaro il mio $routeProvider devo includere il mio /app_dev.php/ perché imposto la modalità html 5 su true: $locationProvider.html5Mode(true);.Symfony2 utilizza assetic con route HTML5 angolari

$routeProvider.when('/app_dev.php/admin', 
        {templateUrl: 'index.html', controller: AdminCtrl}) 
       .when('/app_dev.php/admin/schedule/', 
        {templateUrl: 'schedule.html', controller: ScheduleCtrl}) 
       .otherwise('/app_dev.php/admin'); 
$locationProvider.html5Mode(true); 

vs

$routeProvider.when('/admin', 
        {templateUrl: 'index.html', controller: AdminCtrl}) 
       .when('/admin/schedule/', 
        {templateUrl: 'schedule.html', controller: ScheduleCtrl}) 
       .otherwise('/admin'); 
$locationProvider.html5Mode(true); 

Il problema è che devo ricordare di cambiare le rotte indietro quando voglio utilizzare l'ambiente di produzione.

ho C'è un buon modo per gestire questa situazione magari con assetic quando faccio una discarica per rilevare che sto facendo la discarica per il dev vs prod o devo solo ricordare dolorosamente per modificare i percorsi per l'envirnment obiettivo?

Grazie

risposta

6

Provare a usare FOSJsRoutingBundle. Questo pacchetto ti consente di esporre il tuo routing nel tuo codice JavaScript. Ciò significa che sarai in grado di generare URL con determinati parametri, come puoi fare con il componente Router fornito nel core Symfony2. https://github.com/FriendsOfSymfony/FOSJsRoutingBundle

+0

Ho guardato il modulo e sembra essere una soluzione molto migliore, da quello che ho letto, è a mia conoscenza che i percorsi generati funzionano in modo simile alla generazione dei percorsi in ramoscello e controllori. Questo sarebbe un modo molto migliore per risolvere il problema. Farò qualche prova con questo modulo e vedrò come funziona per me. – nienaber

2

Si potrebbe utilizzare diverse regole di riscrittura in .htaccess. E poi gitignore del file. In modo che sul tuo localhost è sempre instradato attraverso app_dev.php e su prod attraverso app.php. Al fine di aiutare il dumping i percorsi, Symfony2 ha un comando: http://symfony.com/doc/current/cookbook/configuration/apache_router.html

+0

Questa è una soluzione interessante. Lo esaminerò. Attualmente, per lo sviluppo, non utilizzo apache ma piuttosto il server PHP incorporato e sto scrivendo uno script di riscrittura che imita quello che non è desiderabile in questo momento. – nienaber

+0

Ma poi dovrai mantenere i tuoi percorsi e .htaccess – Wissem