Cette traduction fournie par StrongLoop / IBM.

Il se peut que ce document soit obsolÚte par rapport à la documentation en anglais. Pour connaßtre les mises à jour les plus récentes, reportez-vous à la documentation en anglais.

✖

FAQ

Comment puis-je structurer mon application ?

Il n’existe pas de rĂ©ponse dĂ©finitive Ă  cette question. La rĂ©ponse dĂ©pend de l’échelle de votre application et de l’équipe qui est impliquĂ©e. Pour ĂȘtre aussi flexible que possible, Express ne fait aucune supposition en terme de structure.

Les routes et la logique propre Ă  l’application peuvent ĂȘtre opĂ©rationnelles dans autant de fichiers que vous le souhaitez, et dans les structures de rĂ©pertoire que vous prĂ©fĂ©rez. Pour plus d’inspiration, consultez les exemples suivants :

Il existe aussi des extensions tiers pour Express, permettant de simplifier certains de ces modĂšles :

Comment puis-je définir des modÚles ?

Express ne connaĂźt pas les bases de donnĂ©es. Ce concept est laissĂ© aux modules Node tiers, vous permettant ainsi d’interagir avec quasiment toutes les bases de donnĂ©es.

Voir LoopBack pour obtenir une infrastructure basée sur Express et centrée autour de modÚles.

Comment puis-je authentifier des utilisateurs ?

L’authentification est une autre partie complexe dans laquelle Express ne s’aventure pas. Vous pouvez utiliser tous les schĂ©mas d’authentification que vous voulez. Pour un schĂ©ma simple de type nom d’utilisateur/mot de passe, voir cet exemple.

Quels moteurs de modĂšles Express prend-il en charge ?

Express prend en charge tous les moteurs de modÚles conformes à la signature (path, locals, callback). Pour normaliser les interfaces de moteur de modÚles et la mise en cache, voir le projet consolidate.js pour la prise en charge. Des moteurs de modÚles non répertoriés peuvent encore prendre en charge la signature Express.

For more information, see Using template engines with Express.

Comment puis-je gérer des réponses 404 ?

Dans Express, Ă©tant donnĂ© que les rĂ©ponses 404 ne sont pas le rĂ©sultat d’une erreur, le middleware de traitement d’erreurs ne les traite pas. Ce comportement est dĂ» au fait qu’une rĂ©ponse 404 indique simplement l’absence d’un travail supplĂ©mentaire Ă  effectuer. En d’autres termes, Express a exĂ©cutĂ© toutes les routes et fonctions middleware, et aucune n’a rĂ©pondu. Tout ce que vous avez Ă  faire est d’ajouter une fonction middleware Ă  la toute fin de la pile (en-dessous de toutes les autres fonctions) pour gĂ©rer une rĂ©ponse 404 :

app.use((req, res, next) => {
  res.status(404).send("Sorry can't find that!")
})

Add routes dynamically at runtime on an instance of express.Router() so the routes are not superseded by a middleware function.

Comment puis-je configurer un gestionnaire d’erreurs ?

Vous pouvez dĂ©finir un middleware de traitement d’erreurs de la mĂȘme façon qu’un autre middleware, Ă  l’exception qu’il faudra 4 arguments au lieu de 3 ; et plus particuliĂšrement avec la signature (err, req, res, next) :

app.use((err, req, res, next) => {
  console.error(err.stack)
  res.status(500).send('Something broke!')
})

Pour plus d’informations, voir Traitement d’erreurs.

Comment puis-je générer un fichier HTML simple ?

Vous ne pouvez pas ! Il n’est pas nĂ©cessaire de “gĂ©nĂ©rer” un fichier HTML avec la fonction res.render(). Si vous avez un fichier spĂ©cifique, utilisez la fonction res.sendFile(). Si vous utilisez plusieurs actifs d’un rĂ©pertoire, utilisez la fonction middleware express.static().

What version of Node.js does Express require?

Previous: More examples

Edit this page