我正在开发一个微前端应用程序,使用模块联邦插件。应用程序容器的路由选择是:
const routes: Routes = [
{
path: 'login',
loadChildren: () =>
loadRemoteModule({
type: 'module',
remoteEntry: 'http://localhost:2000/remoteEntry.js',
exposedModule: './Module'
})
.then(m => m.AppModule)
},
{
path: 'admin',
loadChildren: () =>
loadRemoteModule({
type: 'module',
remoteEntry: 'http://localhost:3000/remoteEntry.js',
exposedModule: './Module'
})
.then(m => m.AppModule),
canLoad: [AuthenticationGuard, AuthorizationGuard],
canActivate: [AuthenticationGuard, AuthorizationGuard],
data:{
roles:[RoleType.ADMIN]
}
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }我需要将remoteEntry的url转换为动态url。例如:
{
path: 'login',
loadChildren: () =>
loadRemoteModule({
type: 'module',
remoteEntry: appConfig.protocol + '://' + appConfig.host + ':' + appConfig.port + '/remoteEntry.js',
exposedModule: './Module'
})
.then(m => m.AppModule)
}我不想使用enviroment.ts。
有解决办法吗?
发布于 2022-05-17 11:44:51
不确定这在技术上是否相同,但您可以创建一个在运行时读取的配置文件(使用http请求),然后从该文件中提取所需的信息。
下面是我所指的例子
https://www.angulararchitects.io/en/aktuelles/dynamic-module-federation-with-angular/
https://stackoverflow.com/questions/70939200
复制相似问题