Dengan begitu Anda mendapatkan dua direktori berbeda di web yang mencerminkan direktori lokal Anda, bukan satu jalur url yang gagal di antara dua direktori lokal.
Dengan kata lain pola URL:
http://your.server.com/public/*
Melayani file dari direktori lokal publicsementara:
http://your.server.com/public2/*
Melayani file dari direktori lokal public2.
BTW ini juga berguna jika Anda tidak ingin statis menyajikan file dari root server Anda, tetapi dari jalur yang lebih berkualitas.
Sempurna @etheet! Baru saja mengarahkan skrip ke direktori saya! script (src = "/ public2 / alertTest.js")
Cody
Jika menggunakan React dan mencoba melayani dua aplikasi terpisah, Anda perlu menambahkan "homepage": "/public"dan "homepage": "/public2"ke package.json aplikasi react masing-masing. Untuk info lebih lanjut tentang menggunakan dua aplikasi reaksi, lihat jawaban saya di sini stackoverflow.com/a/48569896/4746648
Danny Harding
ini sangat berguna khususnya ketika Anda menginginkan sebuah sharedfolder sehingga Anda dapat menggunakan "./"dan "./shared"dan booming Anda dapat dengan mudah berbagi file js: 3 Terima kasih
Jaacko Torus
55
Anda juga dapat "menggabungkan" direktori menjadi satu direktori yang terlihat
Jika saya mengerti dengan benar konflik nama file tidak terjadi karena node menggunakan versi pertama dari file yang ditemukannya. Jika terlihat main.jsdi static/dalamnya tidak akan terus mencari alternate_static/.
RobW
2
Itu masih clobber jika Anda mengharapkan file tersebut alternate_staticakan pernah disajikan.
Randolpho
41
Ini tidak mungkin dilakukan dengan satu injeksi middleware, tetapi Anda dapat menginjeksi staticmiddleware beberapa kali:
Jawaban:
Anda juga dapat menyetel jalur tempat file statis akan disajikan ke web dari dengan menentukan parameter tambahan (pertama) untuk
use()
menyukainya:Dengan begitu Anda mendapatkan dua direktori berbeda di web yang mencerminkan direktori lokal Anda, bukan satu jalur url yang gagal di antara dua direktori lokal.
Dengan kata lain pola URL:
Melayani file dari direktori lokal
public
sementara:Melayani file dari direktori lokal
public2
.BTW ini juga berguna jika Anda tidak ingin statis menyajikan file dari root server Anda, tetapi dari jalur yang lebih berkualitas.
HTH
sumber
"homepage": "/public"
dan"homepage": "/public2"
ke package.json aplikasi react masing-masing. Untuk info lebih lanjut tentang menggunakan dua aplikasi reaksi, lihat jawaban saya di sini stackoverflow.com/a/48569896/4746648shared
folder sehingga Anda dapat menggunakan"./"
dan"./shared"
dan booming Anda dapat dengan mudah berbagi file js: 3 Terima kasihAnda juga dapat "menggabungkan" direktori menjadi satu direktori yang terlihat
Struktur Direktori
/static
/alternate_static
Kode
Baik static dan alternate_static akan ditampilkan seolah-olah berada di direktori yang sama. Hati-hati dengan clobbers nama file.
sumber
main.js
distatic/
dalamnya tidak akan terus mencarialternate_static/
.alternate_static
akan pernah disajikan.Ini tidak mungkin dilakukan dengan satu injeksi middleware, tetapi Anda dapat menginjeksi
static
middleware beberapa kali:Penjelasan
Lihat connect / lib / middleware / static.js # 143 :
Ada
options.root
root statis, yang Anda definisikanexpress.static
atauconnect.static
panggil, danpath
merupakan jalur permintaan.Lihat lebih lanjut di connect / lib / middleware / static.js # 154 :
Lokasi diperiksa hanya sekali, dan jika file tidak ditemukan, permintaan diteruskan ke middleware berikutnya.
Pembaruan untuk Connect 2.x
Tautan ke kode tidak sebenarnya untuk Connect 2.x, tetapi beberapa penggunaan middleware statis masih memungkinkan seperti sebelumnya.
sumber
});
sumber