Je suis tombé sur cette question en cherchant la même fonctionnalité.
@Jonathan Ong a mentionné dans un commentaire ci-dessus que l'utilisation de tableaux pour les chemins est dépréciée, mais elle est explicitement décrite dans Express 4, et elle fonctionne dans Express 3.x. Voici un exemple de quelque chose à essayer :
app.get(
['/test', '/alternative', '/barcus*', '/farcus/:farcus/', '/hoop(|la|lapoo|lul)/poo'],
function ( request, response ) {
}
);
De l'intérieur de la request
avec un chemin d'accès de /hooplul/poo?bandle=froo&bandle=pee&bof=blarg
:
"route": {
"keys": [
{
"optional": false,
"name": "farcus"
}
],
"callbacks": [
null
],
"params": [
null,
null,
"lul"
],
"regexp": {},
"path": [
"/test",
"/alternative",
"/barcus*",
"/farcus/:farcus/",
"/hoop(|la|lapoo|lul)/poo"
],
"method": "get"
},
Notez ce qui se passe avec les paramètres : Il connaît les groupes de capture et les paramètres dans tous les chemins possibles, qu'ils soient ou non utilisés dans la requête en cours.
Ainsi, empiler plusieurs chemins via un tableau peut être fait facilement, mais les effets secondaires sont peut-être imprévisibles si vous espérez récupérer quelque chose d'utile du chemin qui a été utilisé par le biais de paramètres ou de groupes de capture. C'est probablement plus utile pour la redondance/alias, auquel cas cela fonctionnera très bien.
Edit : Veuillez également consulter la réponse de @c24w en dessous de .
Edit 2 : C'est une réponse modérément populaire. Veuillez garder à l'esprit qu'ExpressJS, comme la plupart des bibliothèques Node.js, est une fête mobile. Bien que le routage ci-dessus fonctionne toujours (je l'utilise en ce moment, c'est une fonctionnalité très pratique), je ne peux pas me porter garant de la sortie de l'objet de requête (c'est certainement différent de ce que j'ai décrit). Veuillez tester soigneusement pour vous assurer que vous obtenez les résultats souhaités.