Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symfony2 using assetic with Angular HTML5 routes

I use an angular front end with Symfony. When I declare my $routeProvider I have to include my /app_dev.php/ becuase I set the html 5 mode to true: $locationProvider.html5Mode(true);.

$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);

The problem is I have to remember to change those routes back when I want to use the production environment.

I there a good way to handle this perhaps with assetic when I do a dump to detect I am doing the dump for the dev vs prod or do I just have to painfully remember to change the paths for the target envirnment?

Thanks

like image 967
nienaber Avatar asked Aug 19 '13 17:08

nienaber


2 Answers

Try to use FOSJsRoutingBundle. This bundle allows you to expose your routing in your JavaScript code. That means you'll be able to generate URL with given parameters like you can do with the Router component provided in the Symfony2 core. https://github.com/FriendsOfSymfony/FOSJsRoutingBundle

like image 193
hd.deman Avatar answered Nov 04 '22 00:11

hd.deman


You could use different rewrite rules in your .htaccess. And then gitignore the file. So that on your localhost its always routed through app_dev.php and on prod through app.php. In order to help you dumping the routes, Symfony2 has a command: http://symfony.com/doc/current/cookbook/configuration/apache_router.html

like image 38
m0c Avatar answered Nov 04 '22 02:11

m0c