我正在开发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的某种方式就足够了。