uni-app 4.29版编译echarts.min.js时报错

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app 4.29版编译echarts.min.js时报错

操作步骤:

  • 真机运行项目。项目中引入插件echart

预期结果:

  • 希望能正常编译,显示echarts图表

实际结果:

  • 直接报 charts.min.js (37:208): Error when using sourcemap for reporting an error: Can’t resolve original location of error,导致无法获取echarts对象

bug描述:

  • uniapp 运行为真机运行的时候提示 echarts.min.js (37:208): Error when using sourcemap for reporting an error: Can’t resolve original location of error.

1 回复

在处理 uni-app 4.29 版本编译 echarts.min.js 时遇到的报错问题,首先需要确保你正确地引入了 ECharts 库,并且兼容了 uni-app 的构建系统。以下是一个基本的步骤和代码示例,帮助你排查和解决问题。

1. 引入 ECharts

确保你已经在项目中引入了 echarts.min.js。通常,你可以通过以下方式之一进行引入:

  • 直接在页面中引入(不推荐,因为可能导致打包问题):

    <script src="path/to/echarts.min.js"></script>
    
  • 通过 npm 安装(推荐):

    npm install echarts --save
    

    然后在 main.js 或组件中引入:

    import * as echarts from 'echarts';
    

2. 配置 webpackvite(如果适用)

uni-app 底层可能使用 webpackvite 进行打包。你需要确保 ECharts 能够被正确打包。以下是一个基本的 webpack 配置示例(如果你使用的是自定义的 webpack 配置):

// webpack.config.js
const path = require('path');

module.exports = {
  configureWebpack: {
    externals: {
      'echarts': 'echarts' // 确保 echarts 在全局可用
    },
    resolve: {
      alias: {
        'echarts': path.resolve(__dirname, 'path/to/echarts.min.js') // 如果有必要指定路径
      }
    }
  }
};

3. 使用 ECharts

uni-app 的页面或组件中使用 ECharts,示例如下:

<template>
  <view>
    <canvas canvas-id="mychart-dom-bar" style="width: 300px; height: 200px;"></canvas>
  </view>
</template>

<script>
import * as echarts from 'echarts';

export default {
  mounted() {
    this.initChart();
  },
  methods: {
    initChart() {
      const chartDom = document.getElementById('mychart-dom-bar');
      const myChart = echarts.init(chartDom);
      const option = {
        // ECharts 配置项
        title: {
          text: 'ECharts 入门示例'
        },
        tooltip: {},
        xAxis: {
          data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
        },
        yAxis: {},
        series: [{
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20]
        }]
      };
      myChart.setOption(option);
    }
  }
};
</script>

总结

以上是一个基本的 uni-app 中使用 ECharts 的流程。如果你遇到具体的编译错误,建议检查错误信息,确认是否是因为 ECharts 版本不兼容、路径错误或打包配置问题。如果错误信息指向特定的语法或模块解析错误,请确保 echarts.min.js 文件没有损坏,并且与你的 uni-app 版本兼容。

回到顶部