首页 > 文章列表 > Vite中如何动态获取public目录下指定文件夹的所有文件名?

Vite中如何动态获取public目录下指定文件夹的所有文件名?

107 2025-04-22

Vite中如何动态获取public目录下指定文件夹的所有文件名?

在Vue 3项目中,高效访问public目录下的静态资源至关重要。 本文将详细讲解如何使用Vite的import.meta.glob功能动态获取public目录下特定文件夹中的所有文件名。

假设项目结构如下:

├── favicon.ico
├── folder1
│   └── file1.txt
└── folder2
    └── file2.txt

我们需要在Vue组件中获取folder1folder2文件夹下的所有文件名。 import.meta.glob正是解决此问题的关键。

import.meta.glob是Vite提供的特殊导入语句,用于导入匹配特定模式的文件。 通过通配符*,我们可以轻松导入指定目录下的所有文件。

以下代码演示如何获取public目录下所有文件的路径:

const files = import.meta.glob('/public/**/*');
console.log(files, Object.keys(files));

import.meta.glob('/public/**/*') 导入public目录及其所有子目录下的所有文件。 Object.keys(files) 返回一个包含所有导入文件路径的数组。 请注意,这些路径是相对于项目根目录的。 要获取文件名,需要对路径字符串进行处理,例如使用字符串分割方法提取文件名部分。 例如,如果只想获取folder1下的文件名,可以先过滤掉其他文件夹的路径,再提取文件名。

通过这种方法,您可以灵活地管理Vue 3项目中的静态资源,动态获取public目录下特定文件夹的所有文件名,从而提升开发效率。

来源:1741457125