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 |
更多关于uni-app Cli Vite Vue 3.0下,引入echart后,无法编译微信小程序的实战教程也可以访问 https://www.itying.com/category-93-b0.html
目测你再安装zrender就可以了。
更多关于uni-app Cli Vite Vue 3.0下,引入echart后,无法编译微信小程序的实战教程也可以访问 https://www.itying.com/category-93-b0.html
大佬,确实是,按需加载的,为啥编译还需要手动在自己工程加这些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');

