【问题标题】:Where to put controllers in an Express.js project [closed]在 Express.js 项目中放置控制器的位置[关闭]
【发布时间】:2020-02-23 19:11:01
【问题描述】:

我对软件开发还是很陌生,我难以理解的一件事是不同类型项目的目录架构。我即将开始构建一个 Express 项目,我喜欢将控制器类分离出来,而不是将逻辑放在路由回调中。但我真的不知道应该把控制器放在哪里。这是我现在的项目结构:

.
├── bin
├── config
├── controllers
├── migrations
├── models
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
├── routes
├── seeders
└── views

这是由 Sequelize CLI 生成的,但我在根目录中添加了 controllers。我应该将控制器放在src 目录中吗?如果有人可以帮助我了解如何以最有效的方式进行设置,我将不胜感激。似乎有很多意见和相互矛盾的信息。谢谢。

【问题讨论】:

  • 这个结构看起来像一个图书馆,它没有按书的类型而是按封面的颜色对书籍进行分组。将属于相同功能(业务方面)的文件保存在同一目录中的项目更容易工作。团队的新成员也更容易习惯这种结构并找到自己的方式。
  • @axiac 好的,但这不是很有帮助。该结构由 express-generator 和 sequelize CLI 生成。如果有更好的方法,我会全力以赴,因为我正在努力理解这些东西。

标签: javascript express


【解决方案1】:

Express 项目的特点是没有“唯一的”标准来设置项目结构。你可以用任何方式组织它,只要它有意义并且可以理解。在您的情况下,将控制器放在 controllers/ 目录中是完全可以的,原因如下:

  1. 将逻辑分成单独的文件是有意义的
  2. 只要看名字就知道目录是干什么的
  3. controllers/ 目录中的文件可以轻松导入到routes/ 文件中

所以我会说没关系,你可以去。但与此同时,如果您觉得自己在项目中迷失了方向,请随意重新组织 - 您不会违反任何规则,因为没有规则。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2022-07-04
    • 2012-05-11
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    相关资源
    最近更新 更多