ui-router状态转发到子文件夹

时间:2016-02-13 15:05:14

标签: angularjs angular-ui-router

我制作了两个不同的角度应用程序(一个用于客户端,一个用于管理员)我在快速服务器apis之上构建客户端应用程序,它给我mongodb的结果,我希望两者都能访问这些api所以解决方案我出现了使用是将管理员应用程序放在客户端项目内的子文件夹下,它们都工作正常,但因为$urlRouterProvider.otherwise('/');在客户端应用程序中。当我在管理应用程序内点击浏览器时,它会将我转发回客户端根文件夹。

我的问题如何使ui-router state转发到没有模板和控制器的子文件夹。

我觉得有一个更好的解决方案,请咨询,

Client => http://localhost:9000/
Admin => http://localhost:9000/admin/rtl

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找一个反向代理服务器,它将传入的请求路由到正确的服务器。 NGINX很常见:https://www.nginx.com/resources/admin-guide/reverse-proxy/

您可以在父模块中运行这两个'apps'。

angular.module('clientModule',[]);
angular.module('adminModule',[]);
angular.module('mainApp', ['clientModule', 'adminModule']);

如果您已定义路由器:

$stateProvider
  .state('client', {url:"/client"}
  .state('admin', {url: "/admin"}

刷新页面应该正确指导您。

深度状态重定向可能有助于在它们之间移动:http://christopherthielen.github.io/ui-router-extras/#/dsr

答案 1 :(得分:0)

您能考虑更改文件夹结构吗?

更简单的方法是拥有以下结构:

/ => redirect to /appName
/appName => your client app
/admin => your admin app
/sdk => common stuff

这样,您在管理员和客户端应用之间就会有完全不同的状态