muse 是一款基于 Vue.js 的 UI 框架,早在 Vue 2.x 時期就已經非常流行。但是自從 Vue 3.0 的發布,muse 已經開始逐漸脫離 Vue 了。
Vue 3.0 采用了新的響應式系統,使用 Proxy 替代了 Object.defineProperty。這個變化使得 Vue 3.0 在性能方面有了很大提升。但是,這也意味著像 muse 這樣的第三方庫需要針對新的響應式系統進行重構。
/*Vue 2.x 響應式系統*/
const data = {
message: "Hello, World!",
}
let app = new Vue({
el: "#app",
data: data
})
/*Vue 3.0 響應式系統*/
const data = {
message: "Hello, World!",
}
const reactiveData = Vue.reactive(data)
let app = Vue.createApp({
setup() {
return {
data: reactiveData
}
}
}).mount("#app")
在新的響應式系統下,Vue 3.0 中使用的 template、directive 等都發生了變化。相應的,像 muse 這樣的第三方庫也需要進行相應的更改。但是由于 muse 的維護者太忙了,因此就放棄了對 Vue 3.0 的支持,開始脫離 Vue。
現在 muse 正在進行重構,采用了 Web Components 技術,以實現框架無關性。這樣一來,muse 就可以被用在任何框架中了。這也說明,muse 對于 Vue 3.0 的支持不再是必須的。
muse 脫離 Vue,是一個很好的例子,說明了對于第三方庫來說,框架無關性是非常重要的。
上一篇html css簡潔代碼
下一篇mysql介于兩個值之間