2017-09-22 139 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

相關問題