
利用 vite 的 import.meta.glob 获取 public 目录文件
在使用 vite 的 vue 3 项目中,获取 public 目录下特定文件夹的所有文件名非常重要。本文将介绍如何使用 vite 内置的 import.meta.glob() 方法高效地完成此任务。
使用 import.meta.glob
import.meta.glob() 方法是一个 vite 特性,允许你动态导入 glob 模式匹配的文件。具体而言,你可以使用以下步骤获取 public 目录下特定文件夹的所有文件名:
- 确保你的目录结构如下:
├── favicon.ico
├── folder1
│ └── file1.txt
└── folder2
└── file2.txt- 在 vue 文件中,使用 import.meta.glob() 方法获取文件:
const files = import.meta.glob('/public/**/*')
console.log(files, object.keys(files))- 打印输出:
Map({
'/public/favicon.ico': Promise { : "fulfilled", : undefined },
'/public/folder1/file1.txt': Promise { : "fulfilled", : undefined },
'/public/folder2/file2.txt': Promise { : "fulfilled", : undefined }
}) [ 'public/favicon.ico', 'public/folder1/file1.txt', 'public/folder2/file2.txt' ] 通过 object.keys(files),你可以获取所有文件名的数组,如上所示。
这种方法特别有用,因为它使你能够动态获取 public 目录中的文件,即使你不知道确切的文件名。它可以用在需要灵活文件加载的场景中,例如构建动态菜单或渲染动态内容。










