angular - Ionic 4 延迟加载路由 - 找不到模块
问题描述
我对 Ionic 4 和延迟加载的模块有很多问题,由于某种原因,如果我编辑 route.module.ts 文件并保存有时它会找到它,它会不断报告找不到下面的登录模块。有人遇到过这个问题并知道如何解决吗?
error in app.module.ts Error: Uncaught (in promise): Error: Cannot find module './pages/auth/login/login.module'
Error: Cannot find module './pages/auth/login/login.module'
// 主应用模块
import { ErrorHandler, NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, 'assets/i18n/')
}
class MyErrorHandler implements ErrorHandler {
handleError(error) {
console.log("error in app.module.ts", error);
}
}
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [
BrowserModule,
IonicModule.forRoot(),
AppRoutingModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
}),
AngularFireModule.initializeApp({
}),
AngularFireDatabaseModule,
// Put your custom imports below this line to make merges in Git easier
FormsModule,
ReactiveFormsModule,
],
providers: [
{provide: ErrorHandler, useClass: MyErrorHandler}, // had to add a custom error handler class here as IonicErrorHandler deprecated -
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
// 主Routes文件懒加载找不到的登录页面
import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'login', loadChildren: './pages/auth/login/login.module#LoginPageModule' },
{ path: 'home', loadChildren: './pages/home/home.module#HomePageModule' },
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule { }
// 登录找不到的延迟加载模块
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { TranslateModule} from "@ngx-translate/core"
import { IonicModule } from '@ionic/angular';
import { LoginPage } from './login.page';
const routes: Routes = [
{
path: '',
component: LoginPage
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ReactiveFormsModule,
TranslateModule,
RouterModule.forChild(routes)
],
declarations: [LoginPage]
})
export class LoginPageModule {}
解决方案
您应该检查 Angular 的文件夹结构并检查该模块是否具有正确的路径,然后当您的路径惰性模块具有正确的路径时尝试重新加载您的服务器。
推荐阅读
- python - 使用 html 代码的 Python GUI 自动化
- tensorflow - Tensorflow Hub + Estimator 潜在错误:训练后的权重未重用于评估/预测
- rest - SAP PI RFC 到 REST 通信,无需映射。可能的?
- oracle - 从数据库查询中发送带有新记录的电子邮件
- github - 通过 GitHub API 访问链接的 SAML 身份
- java - 将文本输入编辑到数组中
- java - 下一个活动android中仍然存在启动画面
- c++ - 具有 std::map 和 std::variant 的不完整类型
- bar-chart - 如何在 Tableau 中显示最近几天的数据但从一开始就累积记录
- xslt - XSLT:从 for-each/select 中删除“”标签