提问人:Gladitor 提问时间:11/11/2023 最后编辑:The FabioGladitor 更新时间:11/14/2023 访问量:26
无法导入类 LocalizeRouterModule(Angular 迁移)
Class LocalizeRouterModule cannot be imported (Angular migration)
问:
我目前正在进行从 8.2 到 9.1.13 的 Angular 迁移。 编译器正在工作,但是当我进入页面时,我有一个空白页面。控制台给出此错误 当我调试时,我可以找到这个 我在我的app.module中找到了它
imports ...
import {LocalizeRouterModule} from "localize-router";
registerLocaleData(localeNl, 'nl');
registerLocaleData(localeFr, 'fr');
registerLocaleData(localeDe, 'de');
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/locales/', '.json');
}
const appInitializerFn = (appConfig: AppConfigService) => {
return () => {
return appConfig.loadAppConfig();
};
};
@NgModule({
declarations: [
AppComponent,
LoginComponent,
IdentificationComponent,
WelcomeComponent,
UploadEidComponent,
AddressComponent,
FinancialComponent,
CommunicationComponent,
FullUnemploymentHostDirective,
FullUnemploymentComponent,
RequestComponent,
ErrorDialogComponent,
MakingAppointmentComponent,
ActivityComponent,
IncomeComponent,
MakingAppointmentComponent,
FamilySituationComponent,
FamilyMemberComponent,
BlockCopyPasteDirective,
OnlyNumberDirective,
DatepickerPopupComponent,
BreadcrumbButtonComponent,
FullContactUploadDocumentsComponent,
FullContactCompletedComponent,
ConfirmationComponent,
TokenExpiredComponent,
MultiUploadComponent,
DevelopmentComponent,
CookieComponent
],
imports: [
StoreModule.forRoot(reducers),
BrowserModule,
LocalizeRouterModule,
BrowserAnimationsModule,
MatButtonToggleModule,
MatIconModule,
AppRoutingModule,
DossierModule,
FormsModule,
ReactiveFormsModule,
HttpClientModule,
SideNavModule,
NgbModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
}),
MatGridListModule
],
providers: [AppConfigService, UserLoginService, AuthGuard, OnboardingRequestGuard, LoggedInUserService, AvailabilityService, CookieService, DatePipe,
{provide: NgbDateParserFormatter, useClass: NgbDateCustomParserFormatter},
{provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true},
{provide: APP_INITIALIZER, useFactory: appInitializerFn, deps: [AppConfigService], multi: true}
],
exports: [
FamilySituationComponent
],
bootstrap: [AppComponent]
})
export class AppModule {
}
模块 LocalizeRouterModule 出现以下错误:无法导入 LocalizeRouterModule 类(既不是 Angular 模块也不是独立的可声明模块)
有人可以帮助我吗?
我尝试调试,我正在使用 localize-router,我应该更改它吗?
答:
0赞
The Fabio
11/12/2023
#1
问题是库 localize-router 不再受支持,因此它没有更新到 angular 9.x...查看其最新的 package.json,它支持 Angular 6.x,因此您以前的版本几乎不支持它。
如果你真的想继续使用它,你必须分叉“localize-router”库并自己升级到 angular v9.1.13,然后引用你的分叉代码。
我建议您尝试至少升级到 angular 14,以便您进入 LTS angular 版本。Angular 9.x 已经支持了几年...... 使用新的 angular 本地化结构,您可能只想停止使用“localize-router”库。
评论
0赞
Gladitor
11/13/2023
好的,但是一次迁移多个版本不是不可取吗?
0赞
The Fabio
11/14/2023
这更难,但留在旧的不受支持的版本中是危险的,并且很可能会使您的网站面临不必要的风险。绝对建议将你的应用保留在其创建者支持的依赖项中(保持在 LTS 时间范围内是一个很好的经验法则,因为大多数使用率高的库都会有发布计划)。
0赞
Gladitor
11/14/2023
好的,谢谢你的帮助
评论