ExpressJS - Meilleures pratiques
Contrairement à Django et Rails qui ont une manière définie de faire les choses, une structure de fichiers, etc., Express ne suit pas une manière définie. Cela signifie que vous pouvez structurer l'application comme vous le souhaitez. Mais à mesure que votre application grossit, il est très difficile de la maintenir si elle n'a pas une structure bien définie. Dans ce chapitre, nous examinerons les structures de répertoires généralement utilisées et la séparation des préoccupations pour construire nos applications.
Tout d'abord, nous discuterons des meilleures pratiques pour créer des applications de nœuds et Express.
Commencez toujours un projet de nœud en utilisant npm init.
Installez toujours les dépendances avec un --save ou --save-dev. Cela garantira que si vous passez à une plate-forme différente, vous pouvez simplement exécuter npm install pour installer toutes les dépendances.
Tenez-vous-en aux noms de fichiers en minuscules et aux variables camelCase. Si vous regardez un module npm, il est nommé en minuscules et séparé par des tirets. Chaque fois que vous avez besoin de ces modules, utilisez camelCase.
Ne poussez pas node_modules vers vos référentiels. Au lieu de cela, npm installe tout sur les machines de développement.
Utiliser un config fichier pour stocker des variables
Regroupez et isolez les itinéraires vers leur propre fichier. Par exemple, prenez les opérations CRUD dans l'exemple de films que nous avons vu dans la page API REST.
Structure du répertoire
Parlons maintenant de la structure des répertoires d'Express.
Sites Internet
Express n'a pas de structure définie par la communauté pour créer des applications. Ce qui suit est une structure de projet principalement utilisée pour un site Web.
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
Il existe également d'autres approches pour créer des sites Web avec Express. Vous pouvez créer un site Web à l'aide du modèle de conception MVC. Pour plus d'informations, vous pouvez visiter les liens suivants.
https://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168
et,
https://www.terlici.com/2014/08/25/best-practices-express-structure.html.
API RESTful
Les API sont plus simples à concevoir; ils n'ont pas besoin d'un répertoire public ou de vues. Utilisez la structure suivante pour créer des API -
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
Vous pouvez également utiliser un générateur yeoman pour obtenir une structure similaire.