vue3怎么获取目录里所有文件?

在vue2里使用require.context()能获取目录下所有指定文件的地址

const files = require.context('@/pages/', true, /.vue$/).keys();
 console.log(files)

在vue3中没有require,怎么实现同等功能呢?

找到答案

const modules = import.meta.glob('../service/**')
console.log(modules);

https://cn.vitejs.dev/guide/features.html#glob-import

【以下回答由 GPT 生成】

问题解答

在Vue 3中,由于 require 被移除了,可以使用动态 import 来实现相同的功能。下面是一种实现方式:

  1. 使用 glob 库安装: npm install glob --save-dev

  2. 在 Vue 组件的方法中使用 import.meta.glob 函数来动态导入对应的文件路径。

// 引入 glob
import glob from 'glob';

export default {
  methods: {
    async getAllFiles() {
      // 使用 glob.sync 函数获取目录中的所有文件路径
      const files = glob.sync('@/pages/**/*.vue');
      console.log(files);
    }
  }
};

这样就可以在 Vue 3 中获取目录中的所有文件路径了。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^