全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-23 5 分钟 ✍️ juanwangdev

图片与媒体资源导入

Vite 支持在 JavaScript/TypeScript 中导入静态资源文件,导入后返回资源的 URL。

导入图片

JavaScript
// 导入图片,返回 URL
import logoUrl from './assets/logo.png'

// 使用 URL
const img = document.createElement('img')
img.src = logoUrl
document.body.appendChild(img)

Vue 中使用

vue
<script setup>
import logoUrl from './assets/logo.png'
</script>

<template>
  <img :src="logoUrl" alt="logo" />
</template>

导入其他媒体

JavaScript
// 导入视频
import videoUrl from './assets/demo.mp4'

// 导入音频
import audioUrl from './assets/sound.mp3'

// 导入字体
import fontUrl from './assets/font.woff2'

内联小资源

小于 build.assetsInlineLimit(默认 4KB)的资源会被内联为 base64:

JavaScript
// 小于 4KB,返回 base64 字符串
import smallIcon from './assets/icon.png'
console.log(smallIcon) // "data:image/png;base64,..."

// 大于 4KB,返回 URL
import largeImage from './assets/banner.png'
console.log(largeImage) // "/assets/banner.xxx.png"

强制内联或 URL

JavaScript
// 强制内联
import inlineUrl from './assets/icon.png?url'

// 强制返回 URL
import rawUrl from './assets/icon.png?inline'

注意:默认配置下小于 4KB 的资源自动内联,可通过 assetsInlineLimit 修改阈值。

资源处理对比

资源大小处理方式返回值
< 4KB内联为 base64data:image/xxx;base64,...
>= 4KB输出到 assets/assets/xxx-hash.png

要点总结

  • 导入静态资源返回 URL 或 base64
  • 小于阈值自动内联为 base64
  • 支持 ?url 和 ?inline 查询参数控制
  • 支持图片、视频、音频、字体等
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 别名路径配置
下一篇 → public 目录与静态资源
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码