ecomfe / vue-echarts

Vue.js component for Apache ECharts™.
https://vue-echarts.dev
MIT License
9.43k stars 1.48k forks source link

组件打包安装后vue-demi报错,Cannot read properties of undefined (reading 'warn') #745

Closed bighhhh closed 8 months ago

bighhhh commented 8 months ago

请确认

您是如何将 Vue-ECharts 引入项目的?

通过 ES 模块 import

版本信息

6.6.1

问题详情

https://github.com/vueuse/vue-demi/issues/192 vue-demi有一个问题导致了我这边在依赖带有vue-echarts的组件时报错

问题复现

Justineo commented 8 months ago

npm ls vue-demi 看一下?

bighhhh commented 8 months ago

npm ls vue-demi 看一下?

微信截图_20231102174437

bighhhh commented 8 months ago

npm ls vue-demi 看一下?

关键还出了另一个一样的问题 微信截图_20231102174552 微信截图_20231102174631 这个地方也没有官方的判断,不知道为什么

Justineo commented 8 months ago

vue-demi@0.13.11 应该是已经解决了你上面说的那个问题的了。请提供一个最小化的复现,否则没有办法提供帮助。

bighhhh commented 8 months ago

vue-demi@0.13.11 应该是已经解决了你上面说的那个问题的了。请提供一个最小化的复现,否则没有办法提供帮助。

我也看vue-demi代码了,index.cjs文件中是已经有判断了,但是index.mjs中是没有那段判断的,而我这编译完vue-charts后的文件里用的就是index.mjs的代码,请问下这个是我环境配置的问题吗? 微信截图_20231103095546

微信截图_20231103095324

Justineo commented 8 months ago

看看你的 vue 是不是解析到 cjs 版本去了。如果是的话可以在配置里面强行指定一下 esm 版本试一下。类似 https://github.com/ecomfe/vue-echarts/issues/644#issuecomment-1211434054

bighhhh commented 8 months ago

看看你的 vue 是不是解析到 cjs 版本去了。如果是的话可以在配置里面强行指定一下 esm 版本试一下。类似 #644 (comment)

// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} var external_commonjs_vue_commonjs2_vue_rootVue = __webpack_require__(3797); ;// CONCATENATED MODULE: ./node_modules/vue-echarts/node_modules/vue-demi/lib/index.mjs 我这编译后显示vue是引入的commonjs版本,但是vue-echarts的vue-demi却使用的mjs版本文件,不知道是哪里问题导致的 我另一个插件也用着vue-demi却没有这问题,把vue-echarts移除了就不报错了, 配置了 alias: { vue$: 'vue/dist/vue.esm.js' // 将 'vue$' 映射到 vue.esm.js } 也不行,是因为babel的问题吗

bighhhh commented 8 months ago

// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} var external_commonjs_vue_commonjs2_vue_rootVue = webpack_require(3797); ;// CONCATENATED MODULE: ./node_modules/vue-echarts/node_modules/vue-demi/lib/index.mjs

// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} var external_commonjs_vue_commonjs2_vue_rootVue = webpack_require(3797); ;// CONCATENATED MODULE: ./node_modules/vue-echarts/node_modules/vue-demi/lib/index.mjs

根据上面代码来看应该是vue-echarts跟我的项目引入方式冲突?

Heath1998 commented 2 months ago

external

最后这么解决的?