Aynı işlevselliği ararken bu soruyla karşılaştım.
@Jonathan Ong, yukarıdaki bir yorumda, yollar için dizi kullanmanın kullanımdan kaldırıldığını, ancak bunun Express 4'te açıkça açıklandığından ve Express 3.x'te çalıştığından bahsetti. İşte deneyebileceğiniz bir şey örneği:
app.get(
['/test', '/alternative', '/barcus*', '/farcus/:farcus/', '/hoop(|la|lapoo|lul)/poo'],
function ( request, response ) {
}
);
request
Nesnenin içinden şu yolla /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"
},
Parametrelere ne olduğuna dikkat edin: Mevcut talepte kullanılıp kullanılmadığına bakılmaksızın, olası tüm yollardaki yakalama gruplarının ve parametrelerin farkındadır.
Bu nedenle, bir dizi aracılığıyla birden fazla yolu istiflemek kolaylıkla yapılabilir, ancak param veya yakalama grupları aracılığıyla kullanılan yoldan yararlı bir şey almayı umuyorsanız, yan etkiler muhtemelen tahmin edilemez. Yedeklilik / takma ad için muhtemelen daha kullanışlıdır, bu durumda çok iyi çalışacaktır.
Düzenleme: Ayrıca bakınız @ c24w cevabı aşağıda .
Düzenleme 2: Bu oldukça popüler bir cevaptır. Lütfen çoğu Node.js kitaplığında olduğu gibi ExpressJS'nin taşınabilir bir şölen olduğunu unutmayın. Yukarıdaki yönlendirme hala çalışsa da (şu anda kullanıyorum, çok kullanışlı bir özellik), istek nesnesinin çıktısı için kefil olamıyorum (açıkladığımdan kesinlikle farklı). Lütfen istenen sonuçları aldığınızdan emin olmak için dikkatlice test edin.