
Vite和Vue 3项目中读取public目录下的文件
在Vue 3项目中,经常需要访问public目录下的静态资源。如果这些资源分布在多个文件夹中,如何高效地获取指定文件夹下的所有文件名呢?本文介绍一种基于import.meta.glob的方法,在Vite环境下实现这一目标。
假设项目结构如下:
├── favicon.ico ├── public │ ├── folder1 │ │ └── file1.txt │ └── folder2 │ └── file2.txt └── ...
我们需要在Vue组件中获取public/folder1或public/folder2下所有文件的文件名。 import.meta.glob允许使用通配符导入文件,并返回一个包含文件路径和导入模块映射的对象。
立即学习“前端免费学习笔记(深入)”;
以下代码片段演示如何获取public目录下所有文件信息:
网络工作室源码基于热腾CMS(RTCMS)定制,栏目全站自动调用,可设置生成为html静态文件。网站分类适合网络公司和工作室使用。程序中带有演示数据,如果全新安装,可将根目录下的/uploads 文件夹中的演示图片文件删掉。安装方式:上传upload_install中的文件上传到虚拟主机或服务器网站根目录下;访问 http://域名/ 即可安装,安装时可以选取“演示数据&
const files = import.meta.glob('/public/**/*');
console.log(files, Object.keys(files));
import.meta.glob('/public/**/*')匹配public目录下所有文件,返回一个对象。Object.keys(files)返回该对象的所有键,即所有文件的路径(相对于项目根目录)。
为了只获取指定文件夹下的文件,修改通配符即可。例如,获取public/folder1下的所有文件:
const folder1Files = import.meta.glob('/public/folder1/*');
console.log(folder1Files, Object.keys(folder1Files));
Object.keys(folder1Files)返回public/folder1下所有文件的路径。通过简单的字符串处理,可以提取出纯文件名。
这种方法方便地在Vue 3项目中动态获取public目录下指定文件夹的所有文件名,实现更灵活的资源管理和动态加载。









