Angularjs 在我的项目结构中,我应该在哪里管理服务器端的高级算法/服务?
我正在使用RESTfulAPI处理nodejs、expressjs、mongodb和angular 这是我的项目结构Angularjs 在我的项目结构中,我应该在哪里管理服务器端的高级算法/服务?,angularjs,node.js,mongodb,architecture,application-design,Angularjs,Node.js,Mongodb,Architecture,Application Design,我正在使用RESTfulAPI处理nodejs、expressjs、mongodb和angular 这是我的项目结构 -- config -- models -- public ---- css ---- js ------ controllers ------ services ---- views -- routes // API route 一切正常,因为我的API调用很简单,大部分逻辑都由angular和服务管理 但现在我必须在服务器端实现高级算法和一些逻辑,我不知道
-- config
-- models
-- public
---- css
---- js
------ controllers
------ services
---- views
-- routes // API route
一切正常,因为我的API调用很简单,大部分逻辑都由angular和服务管理
但现在我必须在服务器端实现高级算法和一些逻辑,我不知道该在哪里实现
我应该在服务器端添加另一个服务文件夹吗?您将如何管理它?取决于您的应用程序。因为您的应用程序有一个node.js后端。如果你想实现高级算法,它应该在服务器端。尽可能地保持前端灯光总是明智的,因为您不希望用户等待。
对后端保持一定的重视,但这又取决于您所谈论的应用程序类型。所有的高级算法都应该写在控制器或.js文件中 购物车应用程序的服务器端结构示例: 请注意如何将categories.js、product.js、models.js、api.js分解为 总而言之:
如果您的高级算法参考示例购物车应用程序对产品进行定价,那么最好将其写入product.js,如果它与分类或根据用户显示类别相关,那么最好将该逻辑写入category.js。这对于应用程序中的现有开发人员和新开发人员来说都很方便。请记住,有组织的应用程序升级起来很有趣。是的,我建议您添加一个服务文件夹,其中保存一些业务的服务器端js文件,这些文件可以根据您的业务模型依次组织,例如,您可以使用
services/products.js
来处理products
collection/table上的一些业务操作
反过来,您可以使用以下方法将这些文件注入控制器/路由
var-productsBiz=require('./services/products.js')代码>
并通过调用其任何公开成员来使用该productsBiz
顺便说一句,我看到其他一些人通过在db模型上添加自定义函数来完成这些业务,这是一个好主意,但这在逻辑上仅适用于与此特定db模型相关的函数,例如,在保存之前进行一些自定义验证或更改值,但对于与整个应用程序相关的业务,而不是专门针对db模型的业务,例如处理涉及多个db模型的订单,如产品、订单、装运、发票等,在这种情况下,我建议在服务/*文件*.js
中处理此类业务