是否可以从Angular 6中从懒加载模块的大块加载位置动态更改URL?

时间:2019-05-07 14:29:10

标签: angular module routing lazy-loading ngroute

我正在开发Angular 6应用程序,但是由于部署原因,我无法从(到目前为止)分配给它们的URL加载应用程序的延迟加载模块生成的块。 当我导航到延迟加载的模块时,应用程序需要来自my_application_base_href/4.js的块“ 4.js”,但这在在我的部署案例中无效。

我尝试探索路由器事件并研究了延迟加载,但这似乎是角度路由中更深层的机制。也许与Webpack配置有关。

我发现块的加载是由在webpack配置中配置的angular-router-loader执行的。但是,似乎没有任何配置选项可以动态修改URL,“也许某些替代的加载程序会提供此功能?

const routes: Routes = [
  {
    path: '**',
    loadChildren: './reservar/reservar.module#ReservarModule', /* This generates the problems after building */
    pathMatch: 'full',
  }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule {
}

我想知道是否存在任何方法可以动态地从此模块的加载位置更改URL。想法是从window中获取一个变量(例如window.baseUrl),并确保Angular将从该URL而不是原始URL加载块。 在调用加载之前自己操作URL的某种方式就足够了。

0 个答案:

没有答案