javascript - NodeJS - 目录结构模式

标签 javascript node.js express architecture structure

我是 Web 开发和 NodeJS 新手,我正在重构我们的应用程序(代码和目录结构)。

我想征求更有经验的开发人员对我想要使用的文件结构模式的意见。

通常的 MVC 应用程序结构可能如下所示:

/config
/server
    /controller (business logic)
    /models (contain all models)
    /routes (contain all routes)
    /middlewares (express middleware)
/views (server templates)
/app (contain JS client app)
/public (assets, ...)
/test

这种结构允许我们按关注点对文件进行分组。

但是如果我们使用按服务对文件进行分组的应用程序结构 - 例如:

/config
/lib
   /middlewares (express middlewares)
   /services (utils modules, db modules, ...)
   /config
/views
/public
/app
/server
   /user
       /routes
       /logic
       /test
       /model
       /validation-schema
       /...
   /articles
       /routes
       /logic
       ...

View 、模板和客户端目录与第一个结构中的相同。更多的是关于服务器 API 结构。

这允许我们将与用户实体相关的所有文件放在同一目录中。包括测试、模型、路线..

你对此有何看法?

最佳答案

你将发起一场宗教 war @SimonBruneaud。 :)。这两个版本都是完全可行的,很多人都使用其中一个。第二个在某种程度上更加模块化,事实上,如果您愿意,您可以将每个服务器子文件夹作为单独的 npm 模块进行开发和版本化。 MEAN 框架使用类似的东西,尽管它们实际上按照这些方式打包了所有内容(包括客户端代码和模板)。

最终,我认为这是个人喜好的问题,我怀疑您的问题很快就会作为主要意见被关闭。

关于javascript - NodeJS - 目录结构模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41885604/

相关文章:

javascript - 在node.js中做一个while循环,总是给我最后一个数组项?

node.js - AWS SNS 发布 404 错误

javascript - 什么是好的 StrongLoop/GitHub 持续集成管道?

javascript - 将异步函数包装在 Promise 中

javascript - 使用 json 发送电子邮件

javascript - 如何同时声明多个对象

javascript - Node.js 二进制文件转 PDF

javascript - 正则表达式替换 html 标签外的文本

javascript - MeteorJS 在重新加载时不运行外部 script.js?

mysql - ReferenceError & d3plus 未定义