在Vue 3项目中,高效访问public
目录下的静态资源至关重要。 本文将详细讲解如何使用Vite的import.meta.glob
功能动态获取public
目录下特定文件夹中的所有文件名。
假设项目结构如下:
├── favicon.ico
├── folder1
│ └── file1.txt
└── folder2
└── file2.txt
我们需要在Vue组件中获取folder1
或folder2
文件夹下的所有文件名。 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
目录下特定文件夹的所有文件名,从而提升开发效率。