有没有办法插入来自api的路由?

时间:2019-01-29 12:08:52

标签: javascript angular

我正在一个项目中,我的路线应该来自我的API

我尝试做Route.config.unshift,它确实有效,但是只有在加载项目后,该路由才会存在。

当用户根本无法访问我的网站时,我需要它工作,我需要在我的应用启动路由之前调用API。

1 个答案:

答案 0 :(得分:1)

记录的方法是使用resetConfig(routes: Route[])

https://angular.io/api/router/Router#resetConfig

您可以做的是先添加一个{ path: '**', component: LoadExternalRoutesComponent } 在该组件中,您可以使用http客户端加载api,然后调用router.resetConfig()

困难的部分将是获取angular和webpack(angular-cli)来创建所有模块,如果您使用的是延迟加载,则可能会遇到问题。

angular.json文件中有一个名为lazyModules的功能,即使没有使用它们,也会强制angular和webpack创建模块。

"build": {
   "builder": "@angular-devkit/build-angular:browser",
   "options": {
      ...
      "lazyModules": [
         "src/app/lazy/lazy.module"
      ]
   }
   ...

我发现本教程的主题为https://www.dzurico.com/angular-lazy-load-modules-with-cli/

我希望这会为您指明正确的方向