我正在创建平均堆栈应用程序。如何创建结构化后端源 如:控制器,型号,路由。等使用Express JS。我需要一些例子吗?
首先,没有一种方法可以做事。
根据我的经验,按业务功能而不是技术类别分开更好。为什么?因为它提供了更多的上下文,将功能级别而不是技术级别上属于一起的东西放在一起。此外,这允许您在目录结构的主要位置之间切换更少。这可以减少认知负荷,从而提高您的表现。
例如,假设我们正在构建一个博客网站。您只需要根据功能部件而不是技术部件进行分离。这允许您只打开一个目录,并专注于手头的任务。
当然,你会在你的功能模块之间分享一些东西,这些东西你放在一个common
的地方。
这将是我的方法:
src/
common/
db.js
config.js
profile/
User.model.js
Profile.model.js
register.route.js
register.tpl.js
login.route.js
login.tpl.js
forgotten.route.js
forgotten.tpl.js
post/
Post.model.js
create.route.js
create.tpl.js
edit.route.js
edit.tpl.js
在我们的项目中,我们有这样的结构:
server/
/common
/config
/controllers
/middlewares
/models
/routes
/tests
在公共目录中,您可以保留所有常见的帮助程序函数或常量。
在配置目录中,顾名思义,您可以放置所有配置。
在控制器中,保留控制器。
中间件目录是可以将要运行的自定义中间件保留在确切控制器之前的位置。
模型是保存架构的位置。路由
是保存路由/终结点的位置。测试
是你保持测试的地方。
实际上,表达没有"正确"的结构。但是有很多推荐的方法。这取决于你。我建议您阅读有关构建 NodeJS 项目的内容。但是对于您的情况,我会推荐以下内容:
public
views
models
routes
- index.js # This will hold all routes coagulated into one.
utils # Utility methods expressed as functions so that you can import them individually
app.js # This will hold all express bootstrapping code.
对于阅读材料,我将推荐以下内容:
NodeJS API 项目的结构
节点JS项目结构
- 防弹节点JS结构
值得注意的是,这些只是建议,最终的结构将是最适合您的项目,您的客户和团队的结构。