Vue3 + echart动态引入图片以及打包问题

本文介绍了在Vue3和Vite构建环境下,由于不支持require,导致动态引入图片和Echarts图表中使用图片出现问题的解决方法。通过使用import.meta.url和new URL API来构建图片路径,确保图片能在打包后正确显示。同时,展示了如何在Echarts图表中设置自定义图标。
摘要由CSDN通过智能技术生成

Vite + vue3 不能使用require

原标题:在vue3中动态引入图片 vue3 不能用require了

特别感谢评论区朋友指出的问题
是Vite + vue3 不能使用require
所以特意回来考古,更正!!!
在这里插入图片描述

// 需要显示的数据 
const sceneOptions = reactive({
  data: [],
});



// 获取数据 
//解析为需要的结构  图片尽量不要带中文 不要以数字开头
// 可以使用相对路径 
/*
	sceneOptions.data = [
		{	
			text : "xxxx",
			neId : "xxxx",
			src : new URL(`../../../../assets/keyArea/public/gaotie.png`,
		}
		...
	]

*/

const getImgSrc = (nameCN) => {
  let imgName = "gaotie";
  switch (nameCN) {
    case "高铁":
      imgName = "gaotie";
      break;
    case "高速":
      imgName = "gaosu";
      break;
    case "地铁":
      imgName = "ditie";
      break;
    case "高校":
      imgName = "gaoxiao";
      break;
  }
  return imgName;
};

res.forEach((data, index) => {
    sceneOptions.data.push({
      text: data.neName,
      neId: data.neId,
      src: new URL(
        `../../../../assets/keyArea/public/${getImgSrc(
          imgIconName[index]
        )}.png`,
        import.meta.url
      ).href,
    });
  });

在vue3 中使用 echart 引入图片 打包后无法显示图片的问题

//echart option
option ={
      tooltip: { },
      geo: {},
      series: [
        /*地市打点*/
        {
          type: "scatter",
          coordinateSystem: "geo",
          symbolSize: [50, 50],
          symbolOffset: [0, 0],
          data: scatterData,
			/* 重点*/
          symbol:
            "image://" +
            new URL(
              "../../../../../../assets/governmentEnterprise/centerBox/pic_map.png",
              import.meta.url
            ).href,
          tooltip: {
            show: false,
          },
        },
      ],
    };
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值