javascript - Apakah mungkin menjalankan beberapa aplikasi dengan versi angular yang berbeda pada satu halaman?


Saya ingin menjalankan beberapa aplikasi angular2 di satu halaman. Selain itu, mereka harus berjalan di versi yang berbeda.

Saya tahu: Angular dirancang untuk menjadi kerangka kerja aplikasi satu halaman dan jadi kasus penggunaan yang saya jelaskan cukup eksotis. Namun demikian saya ingin tahu apakah secara teori itu mungkin?

Saya sudah berhasil menjalankannya, satu-satunya masalah saya adalah, bahwa zone-js memiliki sebuah variabel di namespace global dan menghasilkan error ketika dimuat lebih dari sekali. Ketika saya memuat zone-js hanya sekali, kedua aplikasi angular berjalan berdampingan. Anda dapat melihat versi angular yang berbeda di DOM.

Tapi sekarang pertanyaan saya lebih detail: Apakah saya harus khawatir saat menjalankan dua aplikasi Angular berdampingan di satu halaman? Apakah masuk akal untuk memuat dependensi lain hanya sekali? Bagaimana jika mungkin Angular versi utama 4 bergantung pada versi utama zone-js lain - apakah saya tidak bisa memuat keduanya di satu halaman? Apakah OK untuk memuat semua bundle webpack dua kali (inline.bundle.js, vendor.bundle.js, main.bundle.js)?

Jawaban #1

Kami sedang mencoba menyelesaikan masalah serupa dan kami menemukan sebuah meta-framework yang menurut kami mengelola micro front end (SPA) dengan memuaskan. Bahkan, kami mampu menghadirkan SPA lain yang dibangun oleh tim berbeda dengan framework JS yang berbeda dengan sedikit atau tanpa usaha.

Mungkin ada banyak alasan untuk tidak melakukan ini karena aplikasi semacam itu mungkin tidak bisa disebut sebagai aplikasi yang performatif. Saya akan mengatakan alasan untuk melakukan hal semacam ini dalam kasus kami adalah kebutuhan akan pengembangan terfederasi: kami memiliki banyak tim kecil yang tidak berlokasi di tempat yang sama dan independen sejauh jadwal pengiriman, yang berkontribusi pada aplikasi raksasa kami yang sebelumnya dibangun di platform .net sebagai aplikasi web monolitik MV*.

Artikel terkait