uni-app Cli Vite Vue 3.0下,引入echart后,无法编译微信小程序
uni-app Cli Vite Vue 3.0下,引入echart后,无法编译微信小程序
操作步骤:
- 引入echarts后
- 微信小程序编译报错
- Rollup failed to resolve import “zrender/lib/core/util.js”
- H5正常
预期结果:
- 正常显示
实际结果:
- 报错
bug描述:
- 引入echarts后
- 微信小程序编译报错
- Rollup failed to resolve import “zrender/lib/core/util.js”
- H5正常
图片
项目信息
信息类别 | 值 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境 | Windows |
操作系统版本 | win10 |
开发者工具 | vscode |
基础库版本 | vue3.0 ts vite |
项目创建方式 | CLI |
CLI版本 | vue3.0 ts vite |
目测你再安装zrender就可以了。
大佬,确实是,按需加载的,为啥编译还需要手动在自己工程加这些echart使用的插件?h5都不需要,不理解啊
回复 9***@qq.com: 我也遇到了这个问题,是手动npm install zrender 这样解决吗
怎么解决的这个问题啊
npm install zrender
在 uni-app
中使用 Vite
和 Vue 3.0
开发微信小程序时,引入 ECharts
后无法编译的问题,通常是由于 ECharts
的模块化方式与微信小程序的模块化方式不兼容导致的。以下是一些可能的解决方案:
1. 使用 echarts-for-weixin
echarts-for-weixin
是专门为微信小程序优化的 ECharts
版本,可以直接在微信小程序中使用。
安装
npm install echarts-for-weixin --save
使用
在需要使用 ECharts
的页面中引入:
import * as echarts from 'echarts-for-weixin';
2. 使用 uni-app
的 renderjs
uni-app
提供了 renderjs
技术,可以在小程序中使用 ECharts
。
安装
npm install echarts --save
使用
在 renderjs
中引入 ECharts
:
import * as echarts from 'echarts';
export default {
mounted() {
this.initChart();
},
methods: {
initChart() {
const chart = echarts.init(this.$refs.chart);
chart.setOption({
// 你的配置项
});
}
}
}
3. 使用 uni-app
的 web-view
如果以上方法都无法解决问题,可以考虑使用 web-view
组件,将 ECharts
放在一个 H5
页面中,然后在微信小程序中通过 web-view
加载这个 H5
页面。
使用
<web-view src="https://your-h5-page.com"></web-view>
4. 检查 Vite
配置
确保 Vite
的配置没有对 ECharts
进行不必要的处理。可以在 vite.config.js
中添加以下配置:
export default {
optimizeDeps: {
exclude: ['echarts']
}
}
5. 检查 uni-app
配置
确保 uni-app
的配置没有对 ECharts
进行不必要的处理。可以在 manifest.json
中添加以下配置:
{
"mp-weixin": {
"optimization": {
"subPackages": true
}
}
}
6. 使用 uni-app
的 uni.requirePlugin
如果 ECharts
是通过插件方式引入的,可以使用 uni.requirePlugin
来加载插件。
使用
const echarts = uni.requirePlugin('echarts');
7. 检查 ECharts
版本
确保使用的 ECharts
版本与 uni-app
和 Vite
兼容。可以尝试升级或降级 ECharts
版本。
8. 使用 uni-app
的 uni.import
如果 ECharts
是通过 uni.import
引入的,可以尝试使用 uni.import
来加载 ECharts
。
使用
uni.import('echarts').then(echarts => {
// 使用 echarts
});
9. 检查 Vite
的 build
配置
确保 Vite
的 build
配置没有对 ECharts
进行不必要的处理。可以在 vite.config.js
中添加以下配置:
export default {
build: {
rollupOptions: {
external: ['echarts']
}
}
}
10. 使用 uni-app
的 uni.require
如果 ECharts
是通过 uni.require
引入的,可以尝试使用 uni.require
来加载 ECharts
。
使用
const echarts = uni.require('echarts');