AngularJS:处理子文件夹中的根和子应用程序

AngularJS:处理子文件夹中的根和子应用程序,angularjs,pushstate,angularjs-routing,Angularjs,Pushstate,Angularjs Routing,我有两个AngularJS应用程序: 是基础应用程序,在根目录下运行 是一个子应用程序,由于设计原因需要隔离,并在子文件夹中运行,例如/foo/ 如何将请求从根应用程序路由到子应用程序 我遇到的最大问题是URL路由选择了这个子应用程序路由,因为这个路由没有在根应用程序中定义,所以它由处理,否则我无法将用户发送到子应用程序。如果您希望整页重新加载Html链接,重写可能会对您有所帮助。请参阅位置服务文档。从文件 在如下情况下,链接不会被重写;相反 浏览器将对原始链接执行完整页面重新加载 Links

我有两个AngularJS应用程序:

  • 是基础应用程序,在根目录下运行
  • 是一个子应用程序,由于设计原因需要隔离,并在子文件夹中运行,例如
    /foo/
  • 如何将请求从根应用程序路由到子应用程序


    我遇到的最大问题是URL路由选择了这个子应用程序路由,因为这个路由没有在根应用程序中定义,所以它由
    处理,否则
    我无法将用户发送到子应用程序。

    如果您希望整页重新加载Html链接,重写可能会对您有所帮助。请参阅位置服务文档。从文件

    在如下情况下,链接不会被重写;相反 浏览器将对原始链接执行完整页面重新加载

    Links that contain target element
    Example: <a href="/ext/link?a=b" target="_self">link</a>
    Absolute links that go to a different domain
    Example: <a href="http://angularjs.org/">link</a>
    Links starting with '/' that lead to a different base path when base is defined
    Example: <a href="/not-my-base/link">link</a>
    
    包含目标元素的链接 例子: 指向不同域的绝对链接 例子: 以“/”开头的链接,在定义基时指向不同的基路径 例子:

    如果你期待一个完整的页面重新加载Html链接重写可能会帮助你。请参阅位置服务文档。从文件

    在如下情况下,链接不会被重写;相反 浏览器将对原始链接执行完整页面重新加载

    Links that contain target element
    Example: <a href="/ext/link?a=b" target="_self">link</a>
    Absolute links that go to a different domain
    Example: <a href="http://angularjs.org/">link</a>
    Links starting with '/' that lead to a different base path when base is defined
    Example: <a href="/not-my-base/link">link</a>
    
    包含目标元素的链接 例子: 指向不同域的绝对链接 例子: 以“/”开头的链接,在定义基时指向不同的基路径 例子:

    因此,经过一些调试后,解决方案不会太痛苦:

  • 确保通常将所有非资产URL重写到索引文件的重写规则也停止重写对子应用程序的任何请求
  • 确保所有资产请求(例如从索引文件链接到CSS和JS)都以子应用程序目录名为前缀
  • 确保子应用程序中的所有路由均未以子应用程序目录名称作为前缀

  • 然后它就成功了

    因此,经过一些调试后,解决方案不会太痛苦:

  • 确保通常将所有非资产URL重写到索引文件的重写规则也停止重写对子应用程序的任何请求
  • 确保所有资产请求(例如从索引文件链接到CSS和JS)都以子应用程序目录名为前缀
  • 确保子应用程序中的所有路由均未以子应用程序目录名称作为前缀

  • 然后它就成功了

    我想你误解了我的问题,我一直在寻找并排运行应用程序的最佳方式,但最终我修复了它。我想你误解了我的问题,我一直在寻找并排运行应用程序的最佳方式,但最终我修复了它。