让我们想象一个ng2应用程序,它可以处理以下平台:web,mobile-web和mobile-native。
由于存在许多共享文件(诸如动作创建者,减少者......,服务,常见组件等), 一切都可以在一个存储库中。在大多数情况下,组件和路由中的Web,移动Web和移动本机视图登录之间存在差异。 一切都由webpack管理,使用.mobile.ts和.desktop.ts扩展来构建所有内容。扩展名为.base.ts的文件包含桌面和移动组件之间的共享视图逻辑。
当前(简化)文件结构如下(桌面是网络版,移动网是移动网):
assets/
app/
/common
actions/
enums/
models/
effects/
pipes/
reducers/
services/
components/
account-list/
account-item/
account-item.component.base.ts
account-item.component.desktop.ts
account-item.component.desktop.html
account-item.component.mobile.ts
account-item.component.mobile.html
index.ts
account-list.component.base.ts
account-list.component.desktop.ts
account-list.component.desktop.html
account-list.component.mobile.ts
account-list.component.mobile.html
index.ts
/modules
/desktop
/accounts
accounts.component.desktop.ts
accounts.component.desktop.html
accounts.routes.desktop.ts
index.ts
/mobile
/accounts
accounts.component.mobile.ts
accounts.component.mobile.html
accounts.routes.mobile.ts
index.ts
app.component.desktop.ts
app.component.mobile.ts
app.module.desktop.ts
app.module.mobile.ts
app.routes.desktop.ts
app.routes.mobile.ts
如您所见,文件数量增长如此之快。我害怕通过添加另一个原生平台来思考它的外观。不幸的是,我找不到任何有趣的例子。
我发现的唯一一个是: Angular2 advanced seed link
但它似乎也很奇怪而且非直观。
您对如何为该案例制定更好的结构有任何建议吗?我会感激任何帮助。谢谢你的建议。
答案 0 :(得分:0)
我建议您创建不同的项目并创建一个通用的角度包,如下所示:
也许您可以一起加入网络和移动应用。但是这个设置在很多项目中对我有用