我目前正在开发一个 Angular 6 项目,以创建一个具有以下功能的网站(公司网站)
作为公司网站 + 在线商店的网站 内容所在的登陆页面(如 slider 、文本和图像、列表) 可以从管理仪表板更改。
还有一个带有购物车的产品页面,用户可以在其中 登录购买公司产品
管理仪表板,管理员可以在其中控制内容 网站
注意:
管理仪表板和网站内容(包括产品页面和购物卡)连接到 NodeJs Api website-api
产品列表和购物车连接到不同的 NodeJs Api
目前我已经创建了一个带有以下模块的 Angular 项目
- 管理模块:包含与管理仪表板相关的组件和路由
View 模块:具有与不同页面相关的不同组件和路由,例如主页、关于、联系我们、职业等
产品模块:包含与产品页面、列表和购物车相关的组件
共享模块:具有在这些不同模块之间共享的组件
目前我有以下担忧:
我应该如何处理项目结构/模块以优化其性能?
由于我有同一个应用程序连接到两个单独的 API(我应该有单独的身份验证),因此我应该如何处理身份验证?
我应该为管理仪表板创建一个单独的 Angular 6 应用程序,还是应该坚持在同一应用程序中创建不同的模块?
我感谢任何形式的提高应用程序整体性能的建议
最佳答案
性能
首先,您应该优化自己的代码:避免 O(n²)
复杂性(或更多),仅请求所需的 HTTP 数据,不要导入您不使用的模块...
之后,您还可以使用延迟加载来按需加载您的模块。
最后,您可以使用服务器端渲染来优化应用程序的加载时间。
将应用程序一分为二当然会影响您的性能,但这在很大程度上取决于两个应用程序的内容。
身份验证
这取决于您:您可以拥有两个单独的应用程序,带有两个单独的数据库和两种不同的身份验证,也可以拥有带有基于 Angular 色的数据库的单个应用程序。
两者我都见过并工作过,既不是最好的,也不是最差的。它们都有优点和缺点:由您选择。
鉴于这两种意见,您必须猜测最后一个:您可以为您的应用程序选择任何一种方式。这实际上取决于您、您的团队和您的最终用户。
关于Angular 6 我应该为管理仪表板创建单独的应用程序或单独的模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810562/