Saya menemukan pertanyaan ini sambil mencari fungsi yang sama.
@Jonathan Ong disebutkan dalam komentar di atas bahwa menggunakan array untuk jalur tidak digunakan lagi tetapi secara eksplisit dijelaskan di Express 4, dan berfungsi di Express 3.x. Berikut contoh sesuatu untuk dicoba:
app.get(
['/test', '/alternative', '/barcus*', '/farcus/:farcus/', '/hoop(|la|lapoo|lul)/poo'],
function ( request, response ) {
}
);
Dari dalam request
objek, dengan jalur /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"
},
Perhatikan apa yang terjadi dengan params: Ia mengetahui grup dan params yang menangkap di semua jalur yang memungkinkan, apakah mereka digunakan dalam permintaan saat ini atau tidak.
Jadi menumpuk beberapa jalur melalui larik dapat dilakukan dengan mudah, tetapi efek sampingnya mungkin tidak dapat diprediksi jika Anda berharap untuk mengambil sesuatu yang berguna dari jalur yang digunakan oleh params atau grup tangkap. Ini mungkin lebih berguna untuk redundansi / aliasing, dalam hal ini akan bekerja dengan sangat baik.
Edit: Silakan lihat juga jawaban @ c24w di bawah ini .
Sunting 2: Ini adalah jawaban yang cukup populer. Harap diingat bahwa ExpressJS, seperti kebanyakan pustaka Node.js, adalah pesta yang dapat dipindahkan. Sementara perutean di atas masih berfungsi (saya menggunakannya saat ini, fitur yang sangat berguna), saya tidak dapat menjamin keluaran dari objek permintaan (ini tentu berbeda dari apa yang saya jelaskan). Harap uji dengan cermat untuk memastikan Anda mendapatkan hasil yang diinginkan.