ExpressJS 最佳做法

  • 最佳做法

    与Django和Rails具有定义的处理方式,文件结构等不同,Express不遵循定义的方式。这意味着您可以按照自己的方式构建应用程序。但是随着您的应用程序规模的增长,如果没有明确定义的结构,则很难对其进行维护。在本章中,我们将研究构建应用程序时常用的目录结构和关注点分离。
    • 首先,我们将讨论创建节点和Express应用程序的最佳实践。
    • 始终使用npm init开始一个节点项目。
    • 始终使用--save或--save-dev安装依赖项。这将确保如果您转移到其他平台,则只需运行npm install即可安装所有依赖项。
    • 坚持使用小写文件名和camelCase变量。如果您查看任何npm模块,则该模块以小写字母命名,并用破折号分隔。每当需要这些模块时,请使用camelCase。
    • 不要将node_modules推送到您的存储库。相反,npm将所有内容安装在开发计算机上。
    • 使用配置文件存储变量
    • 将路由分组并隔离到自己的文件。例如,在REST API页面中看到的电影示例中进行CRUD操作。
  • 目录结构

    现在让我们讨论Express的目录结构。
    网站
    Express没有用于创建应用程序的社区定义的结构。以下是网站的主要项目结构。
    
    test-project/
       node_modules/
       config/
          db.js                //数据库连接和配置
          credentials.js       //应用程序使用的外部服务的密码/ API密钥
          config.js            //其他环境变量
       models/                 // mongoose 结构
          users.js
          things.js
       routes/                 //不同文件中不同实体的所有路由
          users.js
          things.js
       views/
          index.pug
          404.pug
            ...
       public/                 //正在投放所有静态内容
          images/
          css/
          javascript/
       app.js
       routes.js               //在此包含所有路由,然后在
       app.js 
       package.json
    
    还有其他使用Express建立网站的方法。您可以使用MVC设计模式来构建网站。有关更多信息,您可以访问以下链接。
    https://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168
    https://www.terlici.com/2014/08/25/best-practices-express-structure.html
    RESTful API
    API更易于设计;他们不需要公共目录或视图目录。使用以下结构来构建API-
    
    test-project/
       node_modules/
       config/
          db.js                //数据库连接和配置
          credentials.js       //密码 api key
       models/                 // mongoose 结构
          users.js
          things.js
       routes/                 //不同文件中不同实体的所有路由
          users.js
          things.js
       app.js
       routes.js               //在此包含所有路由,然后在
       app.js 
       package.json
    
    您可以用一些辅助工具生成这些结构。https://github.com/trwalker/generator-express-rest-api