vite vue 动态导入图片

背景:

vite框架的官网,有对项目文件的动态引入文件的介绍,包括:引入图片文件的方法。

function getImageUrl(name) {
  return new URL(`./dir/${name}.png`, import.meta.url).href
}

效果展示,分开发环境和部署环境:

开发环境:

部署环境: 

核心代码:

实现效果分析:开发环境和部署环境,图片都可以正常显示。 

 但是封装的公共的动态引入文件的写法不正确:

export const getAssetsFile = (name) => {
  const imgPath= `../assets/images/${name}`;//这儿传了一个变量
  return new URL(imgPath, import.meta.url).href;
};

vite官网链接:点击跳转 

### 如何在 ViteVue3 项目中引入图片 #### 使用静态资源路径 对于大多数情况,在 `public` 文件夹下放置图像文件是一个简单有效的方法。任何放在该目录下的文件都可以通过根 URL 访问[^1]。 ```html <img src="/my-image.png" alt="Descriptive text"> ``` 这里的 `/my-image.png` 是相对于 `public` 文件夹的路径。 #### 导入作为模块 另一种方法是在 JavaScript导入图片,这使得 Webpack 或者 Vite 能够处理这些资产并返回最终构建中的正确路径: ```javascript import img from './assets/my-image.png'; // 动态加载方式 // or const img = new URL('./assets/my-image.png', import.meta.url).href; // 静态分析URL的方式 ``` 之后可以在模板里使用变量 `img` 来设置 `<img>` 标签的 `src` 属性: ```vue <template> <div> <img :src="img"/> </div> </template> <script setup> import img from './assets/my-image.png'; </script> ``` #### 利用环境变量管理不同环境下使用的图片源 为了适应不同的运行环境(开发、生产),可以通过配置 `.env.*` 文件来指定特定于环境的基础 URL 或 CDN 地址[^2]: ```bash # .env.development VITE_IMAGE_BASE_URL=http://localhost:8080/images/ # .env.production VITE_IMAGE_BASE_URL=https://cdn.example.com/assets/ ``` 接着修改组件代码如下所示: ```vue <template> <div> <img :src="`${import.meta.env.VITE_IMAGE_BASE_URL}image-name.png`"/> </div> </template> ``` 这样做的好处是可以轻松切换不同环境下的资源配置而无需更改业务逻辑代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值