Hello! 欢迎来到小浪资源网!


如何使用 Vite 的 import.meta.glob 获取 public 目录下特定文件夹的所有文件名?


如何使用 Vite 的 import.meta.glob 获取 public 目录下特定文件夹的所有文件名?

利用 vite 的 import.meta.glob 获取 public 目录文件

在使用 vite 的 vue 3 项目中,获取 public 目录下特定文件夹的所有文件名非常重要。本文将介绍如何使用 vite 内置的 import.meta.glob() 方法高效地完成此任务。

使用 import.meta.glob

import.meta.glob() 方法是一个 vite 特性,允许你动态导入 glob 模式匹配的文件。具体而言,你可以使用以下步骤获取 public 目录下特定文件夹的所有文件名:

  1. 确保你的目录结构如下:
├── favicon.ico ├── folder1 │   └── file1.txt └── folder2     └── file2.txt
  1. vue 文件中,使用 import.meta.glob() 方法获取文件:
const files = import.meta.glob('/public/**/*') console.log(files, Object.keys(files))
  1. 打印输出:
Map({   '/public/favicon.ico': Promise { <state>: "fulfilled", <value>: undefined },   '/public/folder1/file1.txt': Promise { <state>: "fulfilled", <value>: undefined },   '/public/folder2/file2.txt': Promise { <state>: "fulfilled", <value>: undefined } }) [ 'public/favicon.ico', 'public/folder1/file1.txt', 'public/folder2/file2.txt' ]

通过 object.keys(files),你可以获取所有文件名的数组,如上所示。

这种方法特别有用,因为它使你能够动态获取 public 目录中的文件,即使你不知道确切的文件名。它可以用在需要灵活文件加载的场景中,例如构建动态菜单或渲染动态内容。

相关阅读