欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3使用dataV報錯問題的解決方法

 更新時間:2023年11月22日 14:30:15   作者:會說法語的豬  
這篇文章主要為大家詳細(xì)介紹了Vue3中使用dataV報錯問題的解決方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

DataV官網(wǎng):https://datav-vue3.jiaminghi.com/guide/

vue2中是沒有問題的,這是第一次在vue3中使用發(fā)現(xiàn)的報錯問題

報錯問題 

首先安裝:

pnpm add @dataview/datav-vue3

1. 全局注冊報錯  

然后main.ts全局注冊 

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import dataV from '@dataview/datav-vue3'
 
const app = createApp(App)
 
app.use(router)
   .use(dataV)
app.mount('#app')

然后我們pnpm dev啟動的時候直接報錯,并且發(fā)現(xiàn)dataV下面有波浪線報錯

2. 按需引入報錯 

<template>
  <div class="index">
    <div class="charts-content">
      <BorderBox1>Content</BorderBox1>
    </div>
  </div>
</template>
<script setup lang='ts'>
import { BorderBox1 } from '@dataview/datav-vue3'
</script>
<style scoped>

發(fā)現(xiàn)還是同樣的報錯

解決

后來發(fā)現(xiàn)該庫中的package.json中給的出口有問題

找到node_modules/@dataview/datav-vue3/package.json

"module": "./es/index.js",

修改為

"module": "./es/index.mjs",// 修改后的

如果要全局注冊的話還需要在node_modules/@dataview/datav-vue3/es/index.mjs添加:

//D, E, G, I, K, g, C, P, h, k, u, w, z, N, Q, S, U, W, Y, _, oo, eo分別是BorderBox1...等組件
export default function(app) {
  const components = [D, E, G, I, K, g, C, P, h, k, u, w, z, N, Q, S, U, W, Y, _, oo, eo]
  components.forEach(component => {
        app.component(component.name, component);
    })
}

或者

export default {
  install(app) {
    const components = [D, E, G, I, K, g, C, P, h, k, u, w, z, N, Q, S, U, W, Y, _, oo, eo]
    components.forEach(component => {
      app.component(component.name, component);
    })
  }
}

上述修改完之后就可以正常引入使用了,但我們修改的是node_modules中的源碼,如果下次再安裝npm install安裝依賴的時候還是會有同樣的問題,所以我們要在package.json中scripts中添加腳本,即執(zhí)行完npm install之后再自動執(zhí)行一個腳本將node_modules中的源碼替換掉,這需要我們提前將修改好的文件放在項目目錄中,如下: 

新建lib文件夾,將修改好的文件放在其中

然后在package.json中scripts中添加

"scripts": {
  "postinstall": "node install-datav-patch.js"
}

然后在根目錄下新建install-datav-patch.js文件:

 install-datav-patch.js

const path = require('path')
const fs = require('fs')
 
const libPackagePath = path.join(__dirname, 'lib/dataview/datav-vue3/package.json')
const libIndexPath = path.join(__dirname, 'lib/dataview/datav-vue3/es/index.mjs')
const modulesPackagePath = path.join(__dirname, 'node_modules/@dataview/datav-vue3/package.json')
const modulesIndexPath = path.join(__dirname, 'node_modules/@dataview/datav-vue3/es/index.mjs')
 
fs.writeFileSync(modulesPackagePath, fs.readFileSync(libPackagePath))
fs.writeFileSync(modulesIndexPath, fs.readFileSync(libIndexPath))

最后再重新執(zhí)行npm install或者pnpm install方法即可 

到此這篇關(guān)于Vue3使用dataV報錯問題的解決方法的文章就介紹到這了,更多相關(guān)Vue3使用dataV報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue2響應(yīng)式系統(tǒng)之嵌套

    Vue2響應(yīng)式系統(tǒng)之嵌套

    這篇文章主要介紹了Vue響應(yīng)式系統(tǒng)之嵌套,我們在開發(fā)中肯定存在組件嵌套組件的情況,下文將舉例說明情況,需要的小伙伴可以參考一下
    2022-04-04
  • elementui實現(xiàn)預(yù)覽圖片組件二次封裝

    elementui實現(xiàn)預(yù)覽圖片組件二次封裝

    這篇文章主要介紹了elementui實現(xiàn)預(yù)覽圖片組件二次封裝的方法 ,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • 深入了解vue2與vue3的生命周期對比

    深入了解vue2與vue3的生命周期對比

    這篇文章主要為大家介紹了vue2與vue3的生命周期對比,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • vue-cli-service build 環(huán)境設(shè)置方式

    vue-cli-service build 環(huán)境設(shè)置方式

    這篇文章主要介紹了vue-cli-service build 環(huán)境設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。
    2023-01-01
  • 詳解Vuex中g(shù)etters的使用教程

    詳解Vuex中g(shù)etters的使用教程

    在Store倉庫里,state就是用來存放數(shù)據(jù)。如果很多組件都使用這個過濾后的數(shù)據(jù),我們是否可以把這個數(shù)據(jù)抽提出來共享?這就是getters存在的意義。我們可以認(rèn)為,getters是store的計算屬性。本文將具體介紹一下getters的使用教程,需要的可以參考一下
    2022-01-01
  • vue通過video.js解決m3u8視頻播放格式的方法

    vue通過video.js解決m3u8視頻播放格式的方法

    這篇文章主要給大家介紹了關(guān)于vue通過video.js解決m3u8視頻播放格式的方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 解決element-ui中Popconfirm氣泡確認(rèn)框的事件不生效問題

    解決element-ui中Popconfirm氣泡確認(rèn)框的事件不生效問題

    這篇文章主要介紹了解決element-ui中Popconfirm氣泡確認(rèn)框的事件不生效問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue 3中常用的生命周期鉤子和監(jiān)聽器的操作方法

    Vue 3中常用的生命周期鉤子和監(jiān)聽器的操作方法

    這篇文章主要介紹了Vue 3中常用的生命周期鉤子和監(jiān)聽器的操作方法,分析常用的一些生命周期鉤子和監(jiān)聽器可以幫助我們在組件中處理數(shù)據(jù)加載、狀態(tài)變化和響應(yīng)式更新,需要的朋友可以參考下
    2024-07-07
  • Vue Element前端應(yīng)用開發(fā)之echarts圖表

    Vue Element前端應(yīng)用開發(fā)之echarts圖表

    在我們做應(yīng)用系統(tǒng)的時候,往往都會涉及圖表的展示,綜合的圖表展示能夠給客戶帶來視覺的享受和數(shù)據(jù)直觀體驗,同時也是增強(qiáng)客戶認(rèn)同感的舉措之一
    2021-05-05
  • 解決Vue 給mapState中定義的屬性賦值報錯的問題

    解決Vue 給mapState中定義的屬性賦值報錯的問題

    這篇文章主要介紹了解決Vue 給mapState中定義的屬性賦值報錯的問題,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論