2017-09-22 147 views
2

我对Angula2和Ionic世界非常新颖,所以我目前正在开发一个包含各种页面,组件和提供程序的选项卡应用程序。它运行良好,当我运行离子服务命令。现在我正在尝试生成APK,并收到该错误。 在我app.module.ts我有类似的声明指出:类型LoginPage是两个模块声明的一部分

@NgModule({declarations: [ 
    MyApp, 
    MenuPage, 
    OrdersPage, 
    DatiPage, 
    .... 
TextImg] 

而且,每一页都有它含有像自己page.module.ts文件:

import { NgModule } from '@angular/core'; 
import { IonicPageModule } from 'ionic-angular'; 
import { DatiPage } from './dati'; 

@NgModule({declarations: [ 
    DatiPage, 
    ],imports: [ 
    IonicPageModule.forChild(DatiPage), 
], 
}) 
export class DatiPageModule {} 

如果我删除一个这两个声明中,离子服务webapp停止工作。 Otherway,如果我尝试建立APK,我得到这个:

enter image description here

对不起长的路径,但仅此而已。是否有人知道我在做什么错了?谢谢!

+0

我知道之前添加答案这是一个重复的问题。感谢** [Duannx](https://stackoverflow.com/users/4254681/duannx)**指出。 – sebaferreras

回答

1

每一页都有包含像自己的page.module.ts文件[...]

好像你正在使用延迟加载网页。由于需要的时候每个页面只加载,你需要从app.module.ts文件

@NgModule({ 
    declarations: [ 
     MyApp, 
     // MenuPage, // <---- Remove the pages from the app module 
     // OrdersPage, 
     // DatiPage, 
     .... 
     TextImg 
    ] 
    //... 
    }) 
    export class AppModule { } 

删除这些网页现在每个页面应该只在自己的模块是declared(这应该删除类型...是的一部分两个模块错误)

而且声明,因为这些网页都被延迟加载,当您需要导航到这些网页,你需要使用一个字符串,它的名字和不是组件名称

// When setting the page in the app.component.ts page 
rootPage:any = 'HomePage'; 

请注意,由于它是一个字符串,因此不需要在任何文件中导入HomePage

你可以找到关于延迟加载从离子的博客这两个博客文章的详细信息:

+0

谢谢你的回答sebaferreras,我确实喜欢你说过,但仍然不起作用。我看了一下我的第一个问题是重复的,我没有得到任何答案。 @snorkpete说,要从声明和导入中删除AddEvent,而是导入“AddEventModule”,然后在导入中添加“AddEventModule”,但他也有一个在entryComponents上声明的“AddEvent”。是否是拒绝?或者“AddEvent”必须位于entryComponents中?我想不会,因为没有“AddEvent”是最上面的导入 – user1840039

相关问题