Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyelesaikan Ralat 'Tidak Dapat / Sumber' dalam Penghala Reaksi?
Apabila menggunakan React Router, menyegarkan semula atau memasukkan URL secara manual kadangkala boleh menyebabkan ralat seperti "Cannot GET /resource." Isu ini berpunca daripada perbezaan antara penghalaan sisi pelayan dan sisi pelanggan.
Dalam aplikasi web tradisional, URL telah ditafsirkan oleh pelayan, yang menentukan kandungan yang sesuai untuk dipaparkan. Dengan penghalaan pihak klien, yang diperkenalkan oleh React Router, URL pada mulanya ditafsirkan oleh penyemak imbas, dan kemudian React Router mengendalikan peralihan halaman secara setempat, tanpa membuat permintaan kepada pelayan.
Walau bagaimanapun, ini bermakna jika pengguna memasukkan atau menyegarkan semula URL secara manual, pelayan tidak akan tahu halaman mana yang hendak dipaparkan, mengakibatkan perkara yang dinyatakan di atas ralat.
Untuk menyelesaikan isu ini, anda perlu mengkonfigurasi kedua-dua penghalaan bahagian pelayan dan bahagian klien.
Dengan menggunakan Sejarah Penyemak Imbas dan bukannya Sejarah Hash, URL akan kelihatan seperti ini: http://example.com/#/resource. Bahagian selepas cincang (#) diabaikan oleh pelayan, jadi pelayan bertindak balas dengan halaman indeks. React Router kemudian memproses bahagian #/resource dan memaparkan kandungan yang betul.
Keburukan:
Dengan pendekatan ini, anda mencipta laluan catch-all pada pelayan yang mengubah hala semua permintaan ke index.html. Ini memberikan kesan yang serupa dengan Sejarah Hash tetapi dengan URL yang lebih bersih.
Keburukan:
Memperluaskan pendekatan catch-all dengan mencipta skrip khusus untuk laluan penting. Ini membolehkan beberapa kandungan dipaparkan pada pelayan, meningkatkan SEO.
Keburukan:
Menggunakan Node.js pada kedua-dua bahagian pelayan dan klien untuk melaksanakan kod JavaScript yang sama. Ini memastikan pelayan menjana penanda yang sama yang akan dihasilkan semasa peralihan halaman sisi klien.
Keburukan:
Pendekatan yang sesuai bergantung pada keperluan khusus anda:
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Tidak Dapat / Sumber' dalam Penghala Reaksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!