Rumah >hujung hadapan web >tutorial js >Parsing URL Mudah dengan JavaScript isomorfik
JavaScript isomorfik: Parsing URL Universal
Artikel ini meneroka parsing URL dalam konteks aplikasi JavaScript isomorfik. JavaScript isomorfik membolehkan kod berjalan lancar pada kedua -dua klien (pelayar) dan pelayan (Node.js), meningkatkan fleksibiliti dan prestasi aplikasi. Aspek utama ini adalah pengendalian URL yang konsisten di kedua -dua persekitaran.
Konsep Utama:
Location
url
rajah berikut menggambarkan struktur URL biasa:
Walaupun ungkapan biasa boleh
Parsing URL-Side Server (node.js):
node.js menyediakan modul :
url
kaedah
<code class="language-javascript">// Server-side JavaScript const url = require('url'); const parsedUrl = url.parse('http://site.com:81/path/page?a=1&b=2#hash'); console.log(parsedUrl.href); // Full URL console.log(parsedUrl.protocol); // http: console.log(parsedUrl.hostname); // site.com console.log(parsedUrl.port); // 81 console.log(parsedUrl.pathname); // /path/page console.log(parsedUrl.search); // ?a=1&b=2 console.log(parsedUrl.hash); // #hash</code>
parse()
Parsing URL sisi klien:
Penyemak imbas tidak mempunyai setara langsung dengan modul Node.js . Walau bagaimanapun, antara muka unsur -unsur jangkar (
url
Pendekatan ini menghindari ungkapan biasa yang kompleks. Location
<a></a>
<code class="language-javascript">// Client-side JavaScript const url = document.createElement('a'); url.href = 'http://site.com:81/path/page?a=1&b=2#hash'; console.log(url.hostname); // site.com</code>
Mewujudkan perpustakaan alam sekitar-agnostik memudahkan parsing URL isomorfik. Contoh
berikut menunjukkan ini:
Perpustakaan ini menggunakan cek mudah () untuk menentukan persekitaran dan menggunakan kaedah yang sesuai. API tetap konsisten pada kedua -dua klien dan pelayan. lib.js
<code class="language-javascript">// lib.js const isNode = typeof module !== 'undefined' && module.exports; (function(lib) { "use strict"; const urlModule = isNode ? require('url') : null; lib.URLparse = function(str) { if (isNode) { return urlModule.parse(str); } else { const url = document.createElement('a'); url.href = str; return url; } }; })(isNode ? module.exports : this.lib = {});</code>menggunakan perpustakaan isomorfik:
typeof module
Server-side:
const lib = require('./lib.js'); const parsedUrl = lib.URLparse(...);
dan gunakan lib.js
Kesimpulan: lib.URLparse(...)
Walaupun aplikasi isomorfik penuh boleh mencabar, perpustakaan alam sekitar-agnostik seperti yang ditunjukkan dengan ketara memudahkan parsing URL, membolehkan kod yang konsisten merentasi persekitaran klien dan pelayan. Pendekatan ini menggalakkan kebolehgunaan semula kod dan penyelenggaraan dalam projek JavaScript isomorfik.
Atas ialah kandungan terperinci Parsing URL Mudah dengan JavaScript isomorfik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!