维特- Plugin- 文件 
虚拟插件文件 可以在 维特 项目.
- 高效文件处理: 流出大文件而不消耗多余的内存.
- 方便文件格式:与现代Web API无缝地工作.
- 高效处理大型文件
ReadableStream。 。 。 . - 访问整个文件为
ArrayBuffer, (中文(简体) ),Blob,或File。 。 。 .
- 高效处理大型文件
- 简单元数据访问:以微小的努力获取关键文件信息.
- 获取文件名称、类型、大小和上次修改的时间.
- 访问元数据作为HTTP风格头和预配置回复.
- 虚拟集成:专门为Vite所建,确保无缝融合.
- 包括用于
?file进口.
- 包括用于
安装
安装插件 :
npm install @astropub/vite-plugin-file
将插件添加到您的 Vite 配置文件 :
// vite.config.js
import vitePluginFile from "@astropub/vite-plugin-file"
export default {
plugins: [vitePluginFile()]
}
使用量
添加数据 ?file 用于访问其元数据和内容的文件导入的后缀.
import FaviconIco from "./assets/favicon.ico?file"
文件元数据
获取任何文件的基本元数据 .
import FaviconIco from "./assets/favicon.ico?file"
console.log(FaviconIco.name) // "favicon.ico"
console.log(FaviconIco.type) // "image/x-icon"
console.log(FaviconIco.size) // 9608
console.log(FaviconIco.lastModified) // 1735689600000
文件流
在不装入内存的情况下, 高效地流出任何文件 .
import FaviconIco from "./assets/favicon.ico?file"
const stream = FaviconIco.stream() // ReadableStream
const response = FaviconIco.response() // Response (with pre-configured headers)
完整文件访问
访问文件为 ArrayBuffer, (中文(简体) ), Blob,或 File。 。 。 .
import FaviconIco from "./assets/favicon.ico?file"
const buffer = await FaviconIco.arrayBuffer()
console.log(buffer.byteLength) // 9608
const blob = await FaviconIco.blob()
console.log(blob.type) // "image/x-icon"
const file = await FaviconIco.file()
console.log(file.name) // "favicon.ico"
console.log(file.lastModified) // 1735689600000
文件元数据为信头
取回文件元数据为 HTTP 风格头条 .
import FaviconIco from "./assets/favicon.ico?file"
const headers = FaviconIco.headers()
console.log(headers.get("content-type")) // "image/x-icon"
console.log(headers.get("content-length")) // "9608"
console.log(headers.get("last-modified")) // "Wed, 01 Jan 2025 00:00:00 GMT"
许可证
凭 MIT-0 许可证。 。 。 .
慢慢来!