ExpressJS - Best Practices

Im Gegensatz zu Django und Rails, die eine definierte Vorgehensweise, Dateistruktur usw. haben, folgt Express keiner definierten Vorgehensweise. Dies bedeutet, dass Sie die Anwendung nach Ihren Wünschen strukturieren können. Da Ihre Anwendung jedoch größer wird, ist es sehr schwierig, sie zu warten, wenn sie keine genau definierte Struktur aufweist. In diesem Kapitel werden wir uns mit den allgemein verwendeten Verzeichnisstrukturen und der Trennung von Bedenken beim Erstellen unserer Anwendungen befassen.

Zunächst werden die Best Practices zum Erstellen von Knoten- und Expressanwendungen erläutert.

  • Beginnen Sie ein Knotenprojekt immer mit npm init.

  • Installieren Sie Abhängigkeiten immer mit a --save oder --save-dev. Dadurch wird sichergestellt, dass Sie beim Wechsel auf eine andere Plattform einfach npm install ausführen können , um alle Abhängigkeiten zu installieren.

  • Halten Sie sich an Dateinamen in Kleinbuchstaben und camelCase-Variablen. Wenn Sie sich ein npm-Modul ansehen, wird es in Kleinbuchstaben benannt und durch Bindestriche getrennt. Wenn Sie diese Module benötigen, verwenden Sie camelCase.

  • Schieben Sie node_modules nicht in Ihre Repositorys. Stattdessen installiert npm alles auf Entwicklungsmaschinen.

  • Verwenden ein config Datei zum Speichern von Variablen

  • Gruppieren und isolieren Sie Routen zu ihrer eigenen Datei. Nehmen Sie zum Beispiel die CRUD-Operationen in dem Filmbeispiel, das wir auf der REST-API-Seite gesehen haben.

Verzeichnisaufbau

Lassen Sie uns nun die Express-Verzeichnisstruktur diskutieren.

Websites

Express verfügt nicht über eine Community-definierte Struktur zum Erstellen von Anwendungen. Das Folgende ist eine häufig verwendete Projektstruktur für eine Website.

test-project/
   node_modules/
   config/
      db.js                //Database connection and configuration
      credentials.js       //Passwords/API keys for external services used by your app
      config.js            //Other environment variables
   models/                 //For mongoose schemas
      users.js
      things.js
   routes/                 //All routes for different entities in different files 
      users.js
      things.js
   views/
      index.pug
      404.pug
        ...
   public/                 //All static content being served
      images/
      css/
      javascript/
   app.js
   routes.js               //Require all routes in this and then require this file in 
   app.js 
   package.json

Es gibt auch andere Ansätze, um Websites mit Express zu erstellen. Sie können eine Website mithilfe des MVC-Entwurfsmusters erstellen. Weitere Informationen finden Sie unter den folgenden Links.

https://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168

und,

https://www.terlici.com/2014/08/25/best-practices-express-structure.html.

RESTful APIs

APIs sind einfacher zu entwerfen. Sie benötigen kein öffentliches oder ein Ansichtsverzeichnis. Verwenden Sie die folgende Struktur, um APIs zu erstellen:

test-project/
   node_modules/
   config/
      db.js                //Database connection and configuration
      credentials.js       //Passwords/API keys for external services used by your app
   models/                 //For mongoose schemas
      users.js
      things.js
   routes/                 //All routes for different entities in different files 
      users.js
      things.js
   app.js
   routes.js               //Require all routes in this and then require this file in 
   app.js 
   package.json

Sie können auch einen Yeoman-Generator verwenden , um eine ähnliche Struktur zu erhalten.