Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic2 离子2升级文件结构_Ionic2 - Fatal编程技术网

Ionic2 离子2升级文件结构

Ionic2 离子2升级文件结构,ionic2,Ionic2,我正在将我的应用程序从Ionic 2.0.0-beta.20升级到Ionic 2.0.0-rc.3 报告说: 导入并将每个自定义组件和管道添加到 src/app/app.module.ts中的声明数组 导入每个提供程序并将其添加到中的提供程序数组中 src/app/app.module.ts 删除中对提供程序、管道和指令数组的任何使用 @组件 问题1 在旧的Ionic 2.0.0-beta.20版本中,所有工件都位于app/pages文件夹中。使用Ionic 2.0.0-rc.3,它们是应该

我正在将我的应用程序从
Ionic 2.0.0-beta.20升级到
Ionic 2.0.0-rc.3

报告说:

  • 导入并将每个
    自定义组件
    管道
    添加到
    src/app/app.module.ts
    中的声明数组

  • 导入每个
    提供程序
    并将其添加到中的
    提供程序
    数组中
    src/app/app.module.ts

  • 删除中对
    提供程序
    管道
    指令
    数组的任何使用
    @组件

问题1

在旧的
Ionic 2.0.0-beta.20版本中,所有工件都位于
app/pages
文件夹中。使用
Ionic 2.0.0-rc.3
,它们是应该与所有页面一起放在
src/pages
文件夹中,还是应该在其他地方分开

问题2

如果我从每页的
@组件
部分删除所有
指令
,这些
指令将在哪里定义

e、 g


关于问题1,实际上你可以决定你的项目结构如何,并根据这一点将文件放在你想要的地方(唯一的改变是你在导入语句中使用的路径)。爱奥尼亚的默认项目结构按照类型组织事情,因此默认情况下,您会有如下内容:

src
  ...
  pages
  pipes
  providers
  ...
src
  feature1
    page1FromFeature1
    page2FromFeature1
    modelFromFeature1
    providerFromFeature1

  feature2    
    ...

  shared
    providers
    pages
    directives
    pipes
@NgModule({
  declarations: [
    MyApp,

    // Pages
    ...

    // Pipes
    ...,

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

    // Pages
    ...
  ],
  providers: [
                // Providers
                ...
             ]
})
export class AppModule {}
找到东西放在哪里的最简单的方法之一就是使用
ionic生成。。。customName
命令,其中三个点可以是
页面
提供者
管道
指令
。这将创建工件并将其放置在应该的位置

您还可以查看,了解爱奥尼亚团队是如何组织项目的,以及所有项目的位置

也就是说,我一直在从事一些项目,这些项目都是按照功能进行组织的,因此项目结构是这样的:

src
  ...
  pages
  pipes
  providers
  ...
src
  feature1
    page1FromFeature1
    page2FromFeature1
    modelFromFeature1
    providerFromFeature1

  feature2    
    ...

  shared
    providers
    pages
    directives
    pipes
@NgModule({
  declarations: [
    MyApp,

    // Pages
    ...

    // Pipes
    ...,

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

    // Pages
    ...
  ],
  providers: [
                // Providers
                ...
             ]
})
export class AppModule {}
这实际上是Angular2建议在未来组织项目的方式


关于问题2,指令应包含在NgModule声明数组中,如下所示:

src
  ...
  pages
  pipes
  providers
  ...
src
  feature1
    page1FromFeature1
    page2FromFeature1
    modelFromFeature1
    providerFromFeature1

  feature2    
    ...

  shared
    providers
    pages
    directives
    pipes
@NgModule({
  declarations: [
    MyApp,

    // Pages
    ...

    // Pipes
    ...,

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

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

谢谢你的全面回答(很高兴我能帮忙:)