我正在使用ionic v3.2.0,作为要求的一部分,我创建了另一个名为start.component.ts和start.modulue.ts的根组件。这是app.component.ts和app.modulue.ts的简单副本。
我在 appModule 中实现了延迟加载。
main.ts
import { AppModule } from "./app.module";
platformBrowserDynamic().bootstrapModule(AppModule);
app.component.ts
export class MyApp {
@ViewChild(Nav) nav: Nav;
rootPage: any = "LoginPage";
...
}
一切正常,登录模块正在加载。
不,我改为 startModule
main.ts
import { StartModule } from "./start.module";
platformBrowserDynamic().bootstrapModule(StartModule);
start.component.ts
export class StartApp {
@ViewChild(Nav) nav: Nav;
rootPage: any = "LoginPage";
...
}
这给我的错误如下:
main.js:1436 ERROR Error: Uncaught (in promise): invalid link: LoginPage
login.module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { LoginPage } from './login';
@NgModule({
declarations: [
LoginPage
],
imports: [
IonicPageModule.forChild(LoginPage)
],
exports: [
LoginPage
]
})
export class LoginPageModule {}
login.ts
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class LoginPage {
....
}
P.S。 :如果我删除LazyLoding,一切正常。我尝试使用最新的离子版本3.4.0,但同样的错误。
答案 0 :(得分:0)
解决方案将您的文件从 start.module.ts 重命名为 app.module.ts 。
因为当离子开始编译时,它开始寻找名为 app.module.ts 的文件,当它在app目录中找不到时;然后生成类似于此
的警告和错误在以下路径中未找到主应用程序NgModule: C:\ Users \用户muham \文件\离子项目\待办事项\ SRC \应用\ app.module.ts
这意味着它在离子cli中被硬编码用于编译过程。因此,应用程序需要在app中使用名为app.module.ts
的文件进行编译和构建。
希望这将解决问题