Node Express CRUD应用程序文件夹结构

时间:2017-05-14 13:32:16

标签: node.js mongodb express crud directory-structure

我为快速CRUD应用程序使用以下文件夹结构。我使用它来拥有每个文件的理想可管理代码,其中包含不超过70行代码。您对文件夹结构有何看法?

- bin\
    - www
- common\
    - enums\
        - logTypesEnum.js
    - validators\
        - studentNameValidator.js
- config\
    - db.js # config file for database connection
- models\
    - log.js # contains model data for model 'log'
- routes\
    - log\
        - index.js # handles all routes for /log/ endpoints and requires files in the directory and also contains middleware code
        - insert.js # handles all routes for /log/insert endpoints
        - remove # handles all routes for /log/remove endpoints
        - exportCSV.js # handles all routes for /log/exportCSV endpoints
    - student\
        - index.js 
        - insert.js
        - remove.js
- public\
    - javascripts
    - images
    - stylesheets
- views\
    - log\
        - index.jade
        - insert.jade
        - remove.jade
        - exportCSV.jade
    - student\
        - index.jade
        - insert.jade
- app.js

1 个答案:

答案 0 :(得分:0)

我不确定为什么你决定使用数字70,除非你读到某个地方70那个理想的微服务,你的结构不允许这样做。

关于目录结构。我得出结论,内部目录结构通常基于程序员或团队负责人。当您看到代码的视觉设计和实现时,更重要的是在您脑海中有意义的事情。

那就是说,恕我直言,过于复杂或者让我们说Node中过于结构化的目录结构,并说例如PHP导致过多的上下目录树移动以访问代码,类或只是普通函数。更不用说对于那些可能来维护代码的人来说,它变得乱七八糟。

因此,请使用您在家中感受到的目录结构。但要让它干净而不复杂。不要试图将每个调用和函数的每个方面都归结为特定的70行可定义目录结构。 (再也不知道那个号码来自哪里)。

干净,简单,明智。 那些将是遵循恕我直言的最佳规则。

根据以下OP问题进行编辑:

  1. 代码的清晰度不是由行数定义的。当我测试编码器时,无论他们专注于什么语言,都要在屏幕上放置一些代码并要求他们将该代码行翻译成简单的英语。首先,这实际上测试候选能力。第二,如果代码清晰且良好,那么任何其他编码器应该能够阅读它并清楚地理解代码中发生了什么。 (实际上它测试的是原始编码器和候选者。) 所以清晰的代码不是关于线条的。它是关于优秀的编码实践和使您的代码按照您的想象完成的能力。

  2. 微服务已成为一种流行词。但基本上它只是意味着“集中”。这意味着您正在创建一个模块来执行特定任务。因此,系统中的每个模块都会执行特定的任务或对您的系统至关重要的任务,并且只关注该任务。我认为这可能实际上是你正在努力的目标。节点和微服务上有很多非常好的文章。