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.