首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue 3-不支持动态要求的“高级图表”

Vue 3-不支持动态要求的“高级图表”
EN

Stack Overflow用户
提问于 2022-04-08 00:31:46
回答 2查看 329关注 0票数 0

我试图包括这样的高级图表:

代码语言:javascript
复制
import { createApp } from 'vue'
import { createPinia } from 'pinia'

import App from './App.vue'
import router from './router'

import HighchartsVue from "highcharts-vue";


const app = createApp(App)

app.use(createPinia())
app.use(router)

app.use(HighchartsVue);

app.mount('#app')

但我发现了错误:

代码语言:javascript
复制
 Dynamic require of "highcharts" is not supported

package.json

代码语言:javascript
复制
{
  "name": "mwc-web",
  "version": "0.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview --port 5050"
  },
  "dependencies": {
    "@popperjs/core": "^2.11.4",
    "bootstrap": "^5.1.3",
    "bootstrap-vue-3": "^0.1.9",
    "highcharts": "^10.0.0",
    "highcharts-vue": "^1.4.0",
    "moment": "^2.29.1",
    "pinia": "^2.0.11",
    "vue": "^3.2.31",
    "vue-router": "^4.0.12"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^2.2.2",
    "@vue/cli-plugin-babel": "^5.0.4",
    "sass": "^1.49.9",
    "sass-loader": "^12.6.0",
    "vite": "^2.8.4"
  }
}

vite.config.js

代码语言:javascript
复制
import { fileURLToPath, URL } from 'url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  optimizeDeps: {
    exclude: ['highcharts'],
  }
})

babel.config.js

代码语言:javascript
复制
module.exports = {
    presets: [
      '@vue/cli-plugin-babel/preset'
    ]
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-08 21:48:19

我认为造成这一问题的原因是这个配置:

代码语言:javascript
复制
optimizeDeps: {
  exclude: ['highcharts'], // ❌ don't do this
}

解决方案是从highcharts中删除optimizeDeps.exclude

另外,在使用Vite时,您不需要Babel配置。这可能是问题的另一个根源。

演示

票数 1
EN

Stack Overflow用户

发布于 2022-04-08 06:46:36

下面是vue3 +highcharts-vue的一个工作示例:https://codesandbox.io/s/vue3-highcharts-example-k98kyz

确保更新到最新版本,并使用babel或任何其他传输程序来处理ESM包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71790392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档