Angular 4 多用户webapp的结构
Angular 4 structure for multi-user webapp
我正在尝试为前端构建一个带有 Angular 4 的 Web 应用程序,我有 3 种类型的用户。我正在寻找有关实现此目标的最佳实践的建议,因为我对此很陌生。我正在分享我目前所拥有的:
v app
v shared
v main
> app //this is what u see before login/reg, after that you're redirected to the apropriate view
> admin-view
admin-component.html
admin-component.css
admin-component.ts
> patient-view
> my-profile
>edit-profile
//they all have html, css and ts
>appointments-history
>procedures-done
> dentist-search
> dentist-profile
> change-password
> models
> services
> util
app-routing-module.ts
app.module.ts
现在我还没有把所有的东西都写下来,比如每个html、css和ts文件,还有服务、模型和实用程序,我认为它们很简单。
我的问题是:
1) app-routing 模块在正确的位置,还是应该在 app.module.ts 旁边
2) 我应该为嵌套组件创建单独的应用程序路由模块,例如在患者视图 > 我的配置文件 > 编辑配置文件中,还是将它们列为应用程序中的子项是否可以 - routing.module.ts。
如果我有重复的组件,例如更改密码组件,我还有一个对患者和牙医相同的搜索组件,会发生什么情况。我是否应该将这些组件放在单独的文件夹中并具有:
>main
>admin-view
>app
>dentist-view
>patient-view
>shared
然后在每个组件路由中将它们声明为子组件?
另外,如果我做错了什么,请告诉我,因为我还在学习,但我想遵循最好的惯例和做法。
提前致谢!
is app-routing module in the correct place, or should it be next to app.module.ts
angular-cli 将 app-routing.module.ts 文件放在 app.module.ts 文件旁边。
should I make separate app-routing modules for nested components like in patient view > my profile > edit profile, or is it fine to have them listed as children in the app-routing.module.ts.
如果你想支持lazy-loaded modules,你应该为每个惰性加载模块创建一个moduleNome-routing.module.ts。延迟加载具有用户角色特定视图的应用程序是有意义的,因为用户不需要不适合他们角色的视图。此外,如果您的应用程序开始变大(假设路由模块中有超过 10 个路由),最好考虑将其分解为更小的惰性加载模块,这样您的应用程序就不会花费太长时间来加载。
如果您的应用程序很小并且您不关心加载时间,那么我认为您应该可以将所有路线都放在应用程序中 -routing.module.ts.
我建议您使用具有良好文件夹结构的 Angular-Cli。用于创建新应用程序、创建模块、创建组件的命令也可能如此。现在许多 SPA 开发人员使用 ng-cli 来创建企业 SPA 应用程序。
例如 shahred 和 assets 有一个单独的地方,并且对于 unitTesting 它使用 e2e 框架。而且cli有很好的页面生命周期。
祝你好运
我正在尝试为前端构建一个带有 Angular 4 的 Web 应用程序,我有 3 种类型的用户。我正在寻找有关实现此目标的最佳实践的建议,因为我对此很陌生。我正在分享我目前所拥有的:
v app
v shared
v main
> app //this is what u see before login/reg, after that you're redirected to the apropriate view
> admin-view
admin-component.html
admin-component.css
admin-component.ts
> patient-view
> my-profile
>edit-profile
//they all have html, css and ts
>appointments-history
>procedures-done
> dentist-search
> dentist-profile
> change-password
> models
> services
> util
app-routing-module.ts
app.module.ts
现在我还没有把所有的东西都写下来,比如每个html、css和ts文件,还有服务、模型和实用程序,我认为它们很简单。
我的问题是: 1) app-routing 模块在正确的位置,还是应该在 app.module.ts 旁边 2) 我应该为嵌套组件创建单独的应用程序路由模块,例如在患者视图 > 我的配置文件 > 编辑配置文件中,还是将它们列为应用程序中的子项是否可以 - routing.module.ts。
如果我有重复的组件,例如更改密码组件,我还有一个对患者和牙医相同的搜索组件,会发生什么情况。我是否应该将这些组件放在单独的文件夹中并具有:
>main
>admin-view
>app
>dentist-view
>patient-view
>shared
然后在每个组件路由中将它们声明为子组件? 另外,如果我做错了什么,请告诉我,因为我还在学习,但我想遵循最好的惯例和做法。
提前致谢!
is app-routing module in the correct place, or should it be next to app.module.ts
angular-cli 将 app-routing.module.ts 文件放在 app.module.ts 文件旁边。
should I make separate app-routing modules for nested components like in patient view > my profile > edit profile, or is it fine to have them listed as children in the app-routing.module.ts.
如果你想支持lazy-loaded modules,你应该为每个惰性加载模块创建一个moduleNome-routing.module.ts。延迟加载具有用户角色特定视图的应用程序是有意义的,因为用户不需要不适合他们角色的视图。此外,如果您的应用程序开始变大(假设路由模块中有超过 10 个路由),最好考虑将其分解为更小的惰性加载模块,这样您的应用程序就不会花费太长时间来加载。
如果您的应用程序很小并且您不关心加载时间,那么我认为您应该可以将所有路线都放在应用程序中 -routing.module.ts.
我建议您使用具有良好文件夹结构的 Angular-Cli。用于创建新应用程序、创建模块、创建组件的命令也可能如此。现在许多 SPA 开发人员使用 ng-cli 来创建企业 SPA 应用程序。
例如 shahred 和 assets 有一个单独的地方,并且对于 unitTesting 它使用 e2e 框架。而且cli有很好的页面生命周期。
祝你好运