[英]Can Vue CLI build a library for Vue 3?
我想使用 Vue CLI 構建一個 Vue 庫。 該項目更喜歡構建庫而不是完全構建的應用程序。 庫構建有效,但庫不能與 Vue 3 結合使用。讓我詳細說明......
首先創建一個簡單的 Vue 3 應用程序。 類似於命令vue create
構建。 然后使用以下方法構建庫:
vue build App.vue -t lib
這會產生一些編譯文件,其中之一是App.umd.js
。 使用 Vue 2 和以下初始化代碼時,它工作正常。
<body>
<div id="app">
<demo></demo>
</div>
<script src="https://unpkg.com/vue@2"></script>
<script src="./dist/App.umd.js"></script>
<script>
new Vue({
components: {
demo: App
}
}).$mount('#app')
</script>
</body>
但是在使用Vue 3和下面的初始化代碼時,會出現JavaScript錯誤。
<body>
<div id="app">
<demo></demo>
</div>
<script src="https://unpkg.com/vue@3"></script>
<script src="./dist/App.umd.js"></script>
<script>
Vue.createApp({
components: {
demo: App
}
}).mount('#app')
</script>
</body>
JavaScript 錯誤是:
Uncaught TypeError: Cannot read property '_c' of undefined
at Proxy.render (App.vue?19ce:1)
我假設 Vue CLI 應該能夠為 Vue 3 構建一個庫。這可以實現嗎?
我使用 @vue/cli 4.5.13,這是撰寫本文時最新的版本。
我假設您在 Vue 2 和 Vue 3 應用程序中使用相同的 Vue 2 庫。 因此,當您嘗試在 Vue 2 應用程序中使用 Vue 2 庫時它可以工作,但是當您嘗試在 Vue 3 應用程序中使用 Vue 2 庫時它不起作用?
Vue 3 與 Vue 2 不反向兼容,所以這就是原因。
您需要使用 Vue 3 構建庫才能在 Vue 3 應用程序中使用它。
Vue SFC 匯總package允許您這樣做
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.