2016-12-09 85 views
1

我正在將我的應用從Ionic 2.0.0-beta.20升級到Ionic 2.0.0-rc.3Ionic 2升級文件結構

guide說以下內容:

  • 導入和每個custom componentspipessrc/app/app.module.ts添加到 聲明數組。

  • 導入,並添加每個providersproviders陣列的 src/app/app.module.ts

  • @Component刪除任何使用providerspipesdirectives陣列。

問題1

在舊版本Ionic 2.0.0-beta.20,所有的文物都只是在app/pages文件夾中。有了Ionic 2.0.0-rc.3,它們應該全部位於所有頁面的src/pages文件夾中,還是應該在其他位置分開?

問題2

如果我從每一頁的@Component部分刪除所有directives,在那裏將這些directives界定?

例如

@Component({ 
    templateUrl: 'review.html', 
    providers: [RatingService, JobService, UtilityService], 
    directives: [REACTIVE_FORM_DIRECTIVES, RatingComponentUpdateable, ControlMessages] 
}) 

回答

1

關於問題1,其實你可以決定你的項目結構將如何,並將其放置在那裏您可以根據想要的文件(唯一的變化將是您在import語句使用路徑)。離子的缺省項目的結構組織的事情在默認情況下所以類型方面你有這樣的事情:

src 
    ... 
    pages 
    pipes 
    providers 
    ... 

一個最簡單的方法來找出放東西,只是使用ionic generate ... customName命令,其中三個點可以是page,provider,pipedirective。那會產生神器並將其放置在應該的位置。

您還可以查看conference app瞭解Ionic團隊如何組織項目和所有位置。

話雖這麼說,我一直工作在哪裏東西功能方面組織了項目,因此該項目的結構是這樣的:

src 
    feature1 
    page1FromFeature1 
    page2FromFeature1 
    modelFromFeature1 
    providerFromFeature1 

    feature2  
    ... 

    shared 
    providers 
    pages 
    directives 
    pipes 

這實際上Angular2如何建議是組織Angular2 Style Guide中的項目。

關於問題2,指令應包括在NgModule聲明數組是這樣的:

@NgModule({ 
    declarations: [ 
    MyApp, 

    // Pages 
    ... 

    // Pipes 
    ..., 

    // Directives 
    ... 
    ], 
    imports: [ 
    IonicModule.forRoot(MyApp) 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    MyApp, 

    // Pages 
    ... 
    ], 
    providers: [ 
       // Providers 
       ... 
      ] 
}) 
export class AppModule {} 
+1

謝謝你的全面的答案 – Richard

+0

很高興我能幫助:) – sebaferreras