NodeJS - 目录结构模式

时间:2017-01-27 00:58:35

标签: 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
       ...

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

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

您如何看待这个?

1 个答案:

答案 0 :(得分:2)

你将开始一场宗教战争@SimonBruneaud。 :)。两个版本都完全可行,很多人都使用。第二个是更模块化的,事实上你可以根据需要开发和编译每个服务器子文件夹作为单独的npm模块。 MEAN框架使用了类似的东西,尽管它们实际上包含了所有内容(包括客户端代码和模板)。

最终我认为这是个人偏好的问题,我怀疑你的问题将不久作为主要意见被关闭。