我是Ionic的新手并试图了解如何组织中型应用程序.
每个页面都应该有自己的模块吗?或者将类似的页面分组到同一个模块中会更好吗?甚至可以这样做吗?看来IonicPageModule.forChild()方法只接受一个页面:
IonicPageModule.forChild(AdministerUsersPage)
Run Code Online (Sandbox Code Playgroud)
那么每个页面都可以拥有自己的模块吗?拥有这么多模块有什么缺点吗?
看起来我们从一个极端走到另一个极端 - 没有模块在根上下文中声明所有内容,以便为每个页面分隔模块.
seb*_*ras 14
每个页面都需要自己的模块吗?
你的问题的答案是:是和否.
你这样做需要每页一个模块,如果你想要的页面是延迟加载.您可以在以下两个链接中找到有关Ionic中延迟加载的更多信息:
基本上该模块将封装组件(您的页面)需要运行的所有内容,以便在您的应用程序中需要时创建它.例如,您可以预先加载一些用户在打开应用程序时会立即使用的页面,然后仅在用户尝试导航到其他页面时才保留其他页面.由于您在打开应用程序时未加载所有页面,因此启动时间会更好.
为每个页面使用模块也与深层链接有关.您可以查看文档以查找有关深度链接和离子的更多信息,但基本上幕后的想法与延迟加载功能几乎相同.
或者将类似的页面分组到同一个模块中会更好吗?甚至可以这样做吗?
Afaik在Ionic中是不可能的,当然这不是推荐使用它的方式.
那么每个页面都可以拥有自己的模块吗?拥有这么多模块有什么缺点吗?
那是对的.Ionic通过每页创建一个模块来实现延迟加载功能.一个小缺点是您需要为每个页面创建一个模块.因此,如果您的应用程序上有20多个页面,则需要创建20多个模块(但我想这不是一个大问题,CLI会为我们完成所有工作,对吧?).
一个更重要的问题是,如果你有一个ComponentsModule包装,比方说,它上面有10个组件,然后你ComponentModule在每个组件上导入它PageModule.这将创建大量代码重复(每个PageModule将获得整个的不同副本ComponentsModule).解决此问题的一种方法是为每个组件创建一个模块,以便每个模块PageModule可以准确导入所需的内容.
但这仍然不是一个大问题; 捆绑包会有点大,但我想更快的启动是任何移动应用程序最重要的功能之一.
话虽这么说,如果你不想使用延迟加载的页面,你不需要每页创建一个模块.请记住,您的应用启动期间将加载所有页面和组件,因此在用户打开您的应用时,所有内容都需要花费更多时间.
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |