5

我在 Symfony 中使用有角度的前端。当我声明我的时$routeProvider,我必须包括我的/app_dev.php/因为我将 html 5 模式设置为 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);

对比

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

问题是当我想使用生产环境时,我必须记住将这些路由改回来。

assetic当我进行转储以检测我正在为devvs进行转储时,我有一个很好的方法来处理这个问题,prod还是我只需要痛苦地记住更改目标环境的路径?

谢谢

4

2 回答 2

6

尝试使用 FOSJsRoutingBundle。此捆绑包允许您在 JavaScript 代码中公开路由。这意味着您将能够使用给定的参数生成 URL,就像您可以使用 Symfony2 核心中提供的路由器组件一样。 https://github.com/FriendsOfSymfony/FOSJsRoutingBundle

于 2013-08-22T16:23:46.460 回答
2

您可以在 .htaccess 中使用不同的重写规则。然后 gitignore 文件。因此,在您的本地主机上,它始终通过 app_dev.php 路由,并通过 app.php 在 prod 上路由。为了帮助你转储路由,Symfony2 有一个命令: http ://symfony.com/doc/current/cookbook/configuration/apache_router.html

于 2013-08-19T19:11:01.543 回答