vue3项目js中导入图片问题

535 阅读1分钟

问题:使用vite+vue3构建的项目,在打包(npm run buile)的时候出现如下信息,打包失败

new URL( '/images/icon.png',import.meta.url) doesn't exist at build time, it will remain unchanged to be resolved at runtime
大概意思:解析不了保持原样

项目需求是使用高德地图标点功能的时候,需要加载一个图标;这样写的话在开发环境下是可以的,但是打包就不可以。

原因

也不知道什么原因造成的,后面再深究。先记录如何解决!

解决

<script setup>
//项目源码中的图片路径:/public/images/icon.png  打包后就是根目录下的 /images/icon.png
//原先写法 方法内部代码
    icon: new AMap.Icon( {
      image:new URL( '/images/icon.png',import.meta.url).href,
      size:new AMap.Size(32,32),
      imageSize:new AMap.Size(32,32)
    }),
    
//解决方案写法
import myIcon from '/images/icon.png'

//方法内部代码
    icon: new AMap.Icon( {
      image:myIcon,
      size:new AMap.Size(32,32),
      imageSize:new AMap.Size(32,32)
    }),   
    
</script>

这样处理以后,可以正常打包发布,访问也没有问题了。