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.