一朵云有多重 2024-03-14 15:50 采纳率: 0%
浏览 12

vite 静态资源路径


1 new URL('/@/assets/images/allLook/run.png', import.meta.url)
2.let imgName='run' //这个实际是从接口返回的图片名称
new URL(/@/assets/images/allLook/${imgName}.png, import.meta.url)
这两种写法有什么区别,为啥第二种在页面上无法显示图片,有什么动态拼接的方法吗

  • 写回答

2条回答 默认 最新

  • 关注

    一朵云有多重 下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    第一种写法:

    new URL('/@/assets/images/allLook/run.png', import.meta.url)
    

    这种写法是直接拼接了图片的完整路径,无动态部分,可以正常显示图片。

    第二种写法:

    let imgName='run' //这个实际是从接口返回的图片名称
    new URL(/@/assets/images/allLook/${imgName}.png, import.meta.url)
    

    这种写法使用了动态的拼接方式,将imgName作为变量进行了拼接。但是在JS中,需要使用模板字符串(template string)的方式来进行动态拼接,即使用反引号包裹字符串,并使用`${}`来包裹变量。在你提供的代码中缺少了模板字符串的标识,导致无法正确拼接图片路径,因此无法显示图片。

    解决方案:

    1. 使用模板字符串来拼接变量和字符串,即在第二种写法中加入反引号``和${},如下所示:
    let imgName='run' //这个实际是从接口返回的图片名称
    new URL(`/@/assets/images/allLook/${imgName}.png`, import.meta.url)
    

    这样就可以正确拼接图片路径,并显示图片了。

    1. 使用字符串拼接的方式,即将变量和字符串通过加号+进行拼接,如下所示:
    let imgName='run' //这个实际是从接口返回的图片名称
    new URL('/@/assets/images/allLook/' + imgName + '.png', import.meta.url)
    

    这样也可以正确拼接图片路径,并显示图片。

    综上所述,要解决第二种写法无法显示图片的问题,需要使用模板字符串或字符串拼接的方式来进行动态拼接。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月14日

悬赏问题

  • ¥15 vscode编译ros找不到头文件,cmake.list文件出问题,如何解决?(语言-c++|操作系统-linux)
  • ¥15 通过AT指令控制esp8266发送信息
  • ¥15 有哪些AI工具提供可以通过代码上传EXCEL文件的API接口,并反馈分析结果
  • ¥15 二维装箱算法、矩形排列算法(相关搜索:二维装箱)
  • ¥20 nrf2401上电之后执行特定任务概率性一直处于最大重发状态
  • ¥15 二分图中俩集合中节点数与连边概率的关系
  • ¥20 wordpress如何限制ip访问频率
  • ¥15 自研小游戏,需要后台服务器存储用户数据关卡配置等数据
  • ¥15 请求解答odoo17外发加工某工序的实操方法
  • ¥20 IDEA ssm项目 跳转页面报错500