Kami cuba mengemas kini perpustakaan dan versi baharu memerlukan Vue 3 dan bukannya Vue 2, iaitu tinymce-vue. Malangnya, ini adalah projek syarikat yang menggunakan bootstrap-vue, yang masih belum serasi sepenuhnya dengan Vue 3 (bootstrap-vue3 masih belum siap pengeluaran dan kami menggunakan beberapa komponen yang belum dipindahkan lagi).
Percubaan utama adalah untuk memindahkan aplikasi lengkap ke Vue 3. Walau bagaimanapun, ia tidak membenarkan penggunaan komponen Bootstrap dalam Vue 3, atau jika menggunakan mod keserasian, sebahagian daripada apl berfungsi, tetapi bahagian yang memerlukan komponen itu tidak muncul/berfungsi atau bahagian lain komponen yang memerlukan Vue 3 rosak. Adakah terdapat sebarang cara untuk menyediakan keserasian khusus perpustakaan, atau dalam kes ini, apakah pendekatan yang disyorkan apabila dua perpustakaan memerlukan dua versi Vue yang berbeza dalam komponen yang sama?
Saya tidak pasti sama ada soalan ini perlu ditanya secara berbeza, ini ialah soalan pertama saya dalam StackOverflow, jadi jika saya perlu menguraikannya semula atau memberikan butiran lanjut, sila beritahu saya.
Masalahnya ialah sukar atau mustahil untuk aplikasi Vue 2 dan 3 untuk wujud bersama dalam projek yang sama kerana ia bergantung pada nama yang sama tetapi versi berbeza
vue
包。即使可以使用不同名称的vue
包别名或使用模块化 Vue(import Vue from 'vue'
)作为一个版本和 Vue CDN (window. Vue
) Untuk satu versi dalam kod pihak pertama, masalah lain untuk diselesaikan Ia adalah Pustaka Vue yang memerlukan penggunaan versi Vue tertentu.Ini memerlukan membina dan menggabungkan sub-aplikasi menggunakan versi dan pustaka Vue pilihannya, yang sangat hampir dengan konsep aplikasi micro-frontend.
Andaikan anda mempunyai subaplikasi Vue 3 yang menggunakan perpustakaan khusus Vue 3 (tinymce-vue) dan ditulis khusus untuk mendedahkan semua API awam untuk berkomunikasi dengan dunia luar:
Komponen pembalut Vue 2 bertindak sebagai jambatan antara subaplikasi Vue 3 dan aplikasi Vue 2 yang lain:
Jika pembalut dan subaplikasi memerlukan penyegerakan tambahan berdasarkan titik tertentu, seperti
provide
/inject
, rujukan templat, dsb., ini perlu dilaksanakan secara konkrit. Dalam hal ini, ia tidak berbeza dengan penyesuai atau penyesuai Vue 3->Vue 2 yang melibatkan rangka kerja lain (Angular, React).