ionic2的页面是否支持嵌套目录结构?

时间:2016-10-13 15:57:02

标签: angular typescript ionic2 ionic3

我看到许多Ionic 2项目的pages目录是一个像下面这样的平面结构(如果我们使用它的生成命令,生成的目录结构被平铺)。

e.g。

    pages/
      |- login/
      |    |-login.html
      |    |-login.scss
      |    |_login.ts
      |- logout/
      |    |-logout.html
      |    |-logout.scss
      |    |_logout.ts
      |- order-list/
      |    |-order-list.html
      |    |-order-list.scss
      |    |_order-list.ts
      |- order-detail/
      |    |-order-detail.html
      |    |-order-detail.scss
      |    |_order-detail.ts 

但是如果一个项目包含很多页面,我希望pages目录支持如下的子目录:

e.g。

    pages/
      |- auth/
      |     |- login/
      |     |    |-login.html
      |     |    |-login.scss
      |     |    |_login.ts
      |     |- logout/
      |     |    |-logout.html
      |     |    |-logout.scss
      |     |    |_logout.ts
      |- order/
      |     |- list/
      |     |    |-list.html
      |     |    |-list.scss
      |     |    |_list.ts
      |     |- detail/
      |     |    |-detail.html
      |     |    |-detail.scss
      |     |    |_detail.ts

Ionic 2 pages支持这个吗?与其他目录相同的问题,例如providerspipes

2 个答案:

答案 0 :(得分:3)

当然可以。事实上,我不想根据它们是什么(页面,提供者,管道,指令等)对事物进行分组,而是根据他们所做的事情将它们分组就像Angular 2 style guides推荐的那样。

  

按功能分组的结构STYLE 04-07

     

创建为其所代表的功能区域命名的文件夹。

     

为什么呢?开发人员可以找到代码,识别每个文件   一目了然,结构尽可能平坦,并且   没有重复或冗余的名称。

     

为什么呢? LIFT指南都包含在内。

     

为什么呢?通过组织帮助减少应用程序变得混乱   内容并使其与LIFT指南保持一致。

     

为什么呢?当有很多文件(例如10+)时,找到它们会更容易   具有一致的文件夹结构,在平面上更难   结构

请记住,您必须更新所有文件以及组件templateUrl属性中的引用(如果您使用RC版本) 。所以

@Component({
  templateUrl: 'build/pages/login/login.html',
  pipes: [ ... ],
  directives: [ ... ]
})
...

将变为:

@Component({
  templateUrl: 'build/pages/auth/login/login.html',
  pipes: [ ... ],
  directives: [ ... ]
})
...

答案 1 :(得分:0)

是。确实如此。

在src / app / app.module.ts中导入NgModule的页面时,您必须尊重嵌套