Sepadukan Komponen Web/MFE dengan HTML statik biasa

PHPz
Lepaskan: 2024-08-25 06:44:06
asal
594 orang telah melayarinya

Integrate Web Component/MFE with plain static HTML

pengenalan

Dalam dunia yang ideal, kami tidak sekali-kali memerlukan penyelesaian hibrid di mana susunan teknologi moden berintegrasi dengan sistem warisan. Tetapi adakah kita benar-benar hidup dalam dunia yang ideal?! Lebih kerap daripada tidak, saya mendapati diri saya perlu melaksanakan pendekatan hibrid. Saya pasti kebanyakan anda pernah mendengar tentang bahagian hadapan mikro (MFE) dan bagaimana persekutuan modul merupakan penyelesaian yang hebat. Tetapi adakah anda tahu cara mengintegrasikan MFE dengan halaman HTML statik biasa tanpa perlu risau tentang kemas kini versi dinamik? Dalam erti kata lain, bagaimana anda boleh mengelak daripada mengemas kini halaman HTML pengguna setiap kali MFE berubah? Saya akan membimbing anda melalui beberapa perubahan kod mudah yang mungkin mengubah hidup anda (ke arah yang lebih baik ?).

Bermula

Menggunakan pustaka SystemJS, kami boleh menyepadukan komponen web atau MFE dengan lancar, atau mengimport sebarang modul pada masa jalan.

Langkah 1: Eksport Modul Anda sebagai Peta

Pertama, menggunakan pengikat modul seperti Webpack, eksport modul sebagai peta dalam format JSON. Pemalam webpack-import-map-plugin memudahkan untuk menjana fail peta import.

// with a Webpack 4 config like: config.entry = { entryName: 'entry-file.js' }; config.output.filename = '[name].[contenthash:8].js'; // Add to plugins new ImportMapWebpackPlugin({ filter: x => { return ['entryName.js'].includes(x.name); }, transformKeys: filename => { if (filename === 'entryName.js') { return 'mfe-module/out-file'; } }, fileName: 'import-map.json', baseUrl: 'https://super-cdn.com/' }); // output import-map.json { "imports": { "mfe-module": "https://super-cdn.com/entryName.12345678.js" } }
Salin selepas log masuk

Nota: Coretan kod di atas diperoleh daripada repositori webpack-import-map-plugin

Langkah 2: Muatkan SystemJS

Seterusnya, muatkan fail SystemJS dengan mengimportnya sebagai fail JavaScript biasa. Anda boleh mengehos versi fail daripada s.min.js pada CDN anda sendiri atau menggunakan dihoskan sedia ada.

Salin selepas log masuk

Langkah 3: Import Fail JSON Peta

Sekarang, import fail JSON peta supaya modul anda boleh disepadukan ke dalam halaman HTML. Peta import menghapuskan keperluan untuk laluan fail JS pengekodan keras, membenarkan kemas kini pada modul anda yang diimport tanpa memerlukan perubahan kod pengguna.

Salin selepas log masuk

Setelah diimport, anda boleh menggunakan modul anda berdasarkan jenisnya—sama ada komponen web atau teg HTML biasa yang diikat but:

//web component  //some regular HTML tag that is bootstrapped. 
Salin selepas log masuk

Kesimpulan

Dengan mengikuti langkah ini, anda boleh menyepadukan bahagian hadapan mikro atau komponen web dengan lancar ke dalam sistem warisan tanpa perlu risau tentang kemas kini yang kerap atau pengurusan versi. Menggunakan SystemJS dan peta import membolehkan anda memuatkan dan mengurus modul secara dinamik, memastikan halaman HTML statik anda sentiasa dikemas kini dengan usaha yang minimum. Pendekatan ini menyediakan penyelesaian berskala dan cekap untuk merapatkan bahagian hadapan mikro moden dengan sistem sedia ada, membolehkan peralihan yang lebih lancar dan fleksibiliti berterusan dalam seni bina anda.

Jika anda telah sampai di sini, maka saya telah melakukan usaha yang memuaskan untuk memastikan anda terus membaca. Sila berbaik hati untuk meninggalkan sebarang komen atau meminta sebarang pembetulan.

Blog Saya yang Lain:

  • Cara Mengurangkan Masa Memuatkan Halaman - Bahagian 1
  • Elakkan Pelaksanaan Lalai Spring RestTemplate untuk Mencegah Kesan Prestasi
  • Pengalaman pertama saya dengan komponen web - pembelajaran dan batasan
  • Rangka Kerja Keputusan Mikro-Frontend
  • Uji Perkhidmatan Web SOAP menggunakan Alat Posmen

Atas ialah kandungan terperinci Sepadukan Komponen Web/MFE dengan HTML statik biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!