Bagaimana cara menghapus hashbang #!
dari url?
Saya menemukan opsi untuk menonaktifkan hashbang di dokumentasi router vue ( http://vuejs.github.io/vue-router/en/options.html ) tetapi opsi ini menghapus #!
dan hanya meletakkan#
Apakah ada cara untuk mendapatkan url yang bersih?
Contoh:
TIDAK: #!/home
TAPI: /home
vue.js
vue-router
DokiCRO
sumber
sumber
const router = new VueRouter({ history: true })
{history: true}
karya untuk halaman pertama, tetapi sisa rute gagal.Untuk vue.js 2 gunakan yang berikut ini:
sumber
Hash adalah pengaturan mode vue-router default, ini diatur karena dengan hash, aplikasi tidak perlu menghubungkan server untuk melayani url. Untuk mengubahnya, Anda harus mengkonfigurasi server Anda dan mengatur mode ke mode API Sejarah HTML5.
Untuk konfigurasi server, ini adalah tautan untuk membantu Anda mengatur server Apache, Nginx dan Node.js:
https://router.vuejs.org/guide/essentials/history-mode.html
Maka Anda harus memastikan, bahwa mode router vue diatur seperti berikut:
vue-router versi 2.x
Agar jelas, ini semua mode vue-router yang dapat Anda pilih: "hash" | "sejarah" | "abstrak".
sumber
Untuk Vuejs 2.5 & vue-router 3.0 tidak ada yang berhasil bagi saya, namun setelah bermain-main sedikit hal berikut ini tampaknya berfungsi:
perhatikan bahwa Anda juga perlu menambahkan jalur tangkap semua.
sumber
dan server dikonfigurasi dengan benar Di apache Anda harus menulis url menulis ulang
sumber
Mengutip dokumen.
sumber
The
vue-router
penggunaanhash-mode
, dalam kata-kata sederhana itu adalah sesuatu yang biasanya Anda harapkan dari sebuah tag Akhor seperti ini.Untuk membuat hash menghilang
Warning
: Jika Anda tidak memiliki server yang dikonfigurasi dengan benar atau Anda menggunakan pengguna SPA sisi-klien dapat mendapatkan404 Error
jika mereka mencoba mengakseshttps://website.com/posts/3
langsung dari browser mereka. Vue Router Documentssumber
Mode default untuk vue-router adalah mode hash - menggunakan hash URL untuk mensimulasikan URL lengkap sehingga halaman tidak akan dimuat ulang ketika URL berubah. Untuk menghilangkan hash, kita dapat menggunakan mode histori router, yang memanfaatkan
history.pushState
API untuk mencapai navigasi URL tanpa memuat ulang halaman:Referensi
sumber
Dan jika Anda menggunakan AWS amplify, periksa artikel ini tentang cara mengkonfigurasi server: Mode histori router Vue dan AWS Amplify
sumber