Rumah >hujung hadapan web >View.js >Mari kita bincangkan tentang dua mod penghalaan Vue (cincang dan sejarah)
Penghala mempunyai dua mod: satu ialah mod hash
dan satu lagi ialah mod history
Apabila menggunakan vue-cli
dan vue-router
yang dibina secara lalaivue
Projek, jika tiada konfigurasi khas dibuat, mod lalai ialah hash
Setiap dua mod ini mempunyai kelebihan tersendiri, tetapi perbezaan penggunaannya akan lebih kurang ditanya semasa temuduga
Mari kita belajar bersama hari iniMod cincang (cincang)mod vue-router
Lalai, menggunakan hash
cincang (url
) Untuk mensimulasikan , halaman tidak akan dimuat semula apabila hash
berubah. [Cadangan berkaitan: URL
tutorial video vuejsURL
, pembangunan bahagian hadapan web] adalah seperti berikut
http://localhost/#homeCiri
: Parameter selepas nombor tidak akan dihantar ke pelayan Ia mempunyai keserasian yang baik dan tidak akan dihantar ke pelayan sebagai sebahagian daripada laluan iaitu, ia tidak akan disertakan dalam permintaan badan dan tidak mempunyai kesan pada bahagian belakang sama sekali. Cuma kami pelajar Front-end bermain sendiri #
HTTP
Apabila halaman dimuat semula, ia akan kekal pada halaman semasa dan tidak akan dimuat semula
Jika anda rasa laluan
adalah hodoh dan tidak ringkas, kami boleh menggunakan penghalaan Mod, mod ini menggunakan sepenuhnya hash
atau history
untuk melengkapkan, history.pushState API
melompat tanpa memuatkan semula halaman replaceState
url
Mod sejarah
pada objek konfigurasi dan nilainya ialah history
.
Selepas pengubahsuaian, mod mode
akan menjadi mod history
hash
history
const router = new VueRouter({ mode: 'history', routes: [...] }),
simbol yang dicampur dalam url
memang kelihatan agak tidak elegan#
url
Jika anda mahu
url
history
Tetapi: dalam mod
akan disertakan dalam kandungan permintaan, dan kandungan selepas simbol hash
tidak akan dihantar ke pelayan hash
#
dalam mod
mestilah Selaras dengan history
yang sebenarnya memulakan permintaan ke bahagian belakang URL
URL
seperti:
, maka ia akan mengembalikan https://itclan.cn/fontend/id
ralat /fontend/id
404
Jika anda ingin menyokong mod
kerana laluan belakang dan bahagian hadapan perlu dipadankanhistory
Tambahkan sumber calon pada pelayan yang merangkumi semua situasi jika
url
Jika 404 muncul, mudah untuk pengguna merasakan bahawa ini adalah pepijat
Cara menyelesaikan masalah 404 menyegarkan halaman di latar depan
Contohnya: Node
boleh menyelesaikan masalah 404 ini Node
connect-history-api-fallback
Jika ia adalah
, cari rakan sekelas belakang untuk memadankan penghalaan bahagian belakang dengan penghalaan bahagian hadapan atau gunakan java
Gunakan kod perkhidmatan php
mudah berikut sebagai proksi perantaraan Ngnix
Pada masa yang sama, pasang Node
dan server.js
middleware express
connect-history-api-fallback
untuk memulakan arahan pelaksanaan perkhidmatan bahagian belakang
node server.js
const express = require('express'); const history = require('connect-history-api-fallback') const app = express() app.use(history()) app.use(express.static(__dirname+'/static')); app.listen(5005,(err)=> { if(!err)consle.log('服务器启动成功了') })yang dihasilkan oleh pembungkusan bahagian hadapan ke dalam
Melalui operasi ini, anda boleh menyelesaikan masalah menyegarkan halaman dan dist
static
404
Pemahaman tentang. aplikasi spa satu halaman
penghala, yang boleh dilalui melalui vue-router
Atribut. diperolehrouter
$router
Dalam erti kata lain, keseluruhan aplikasi hanya mempunyai satu halaman lengkap Pada masa yang sama, mengklik pautan navigasi dalam halaman tidak akan memuatkan semula halaman, tetapi hanya kemas kini separa halaman
permintaan
Projek baharu yang dibangunkan pada masa ini diasingkan dari bahagian hadapan dan belakang, dan pada dasarnya adalah aplikasi satu halamanajax
Penghalaan bahagian hadapan mempunyai dua mod, satu mod
tidak akan dihantar ke pelayan Tidak Halaman pemuatan akan dimuatkan semula, dan mod hash
, history
, walaupun ia kelihatan lebih baik, tetapi untuk sokongan lengkap, pelajar bahagian belakang perlu memberikan sokongan, dan penghalaan bahagian belakang dan penghalaan bahagian hadapan perlu sepadan dengan hash
#
jika tidak, penggunaan Apabila anda pergi ke dalam talian dan muat semula halaman, masalah history
akan munculurl
(Mempelajari perkongsian video: Tutorial pengenalan Vuejs, Video pengaturcaraan asas)
Atas ialah kandungan terperinci Mari kita bincangkan tentang dua mod penghalaan Vue (cincang dan sejarah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!