用什么方法可以获得import.meta.glob("/src/views/**/*.vue")一样的结果
时间: 2023-08-31 15:13:37 浏览: 113
如果你不想使用 `import.meta.glob`,你可以使用 `require.context` 方法来获取相同的结果。`require.context` 是 Webpack 提供的一个函数,可以用来在模块中动态地引入模块。它可以接受一个文件夹的上下文,以及一个布尔值,表示是否搜索子目录。
例如,如果你想获取 `src/views` 目录下的所有 `.vue` 文件的路径,可以使用以下代码:
```javascript
const vueFiles = require.context('./src/views', true, /\.vue$/)
const modules = vueFiles.keys().map(key => ({
path: key,
module: vueFiles(key)
}))
console.log(modules)
// Output:
// [
// {
// path: './Home.vue',
// module: {...}
// },
// {
// path: './About.vue',
// module: {...}
// },
// {
// path: './sub/SubPage.vue',
// module: {...}
// },
// {
// path: './sub/SubSub/SubSubPage.vue',
// module: {...}
// }
// ]
```
这个方法使用了 `require.context()` 方法来获取所有匹配的文件路径。第一个参数是要搜索的文件夹路径,第二个参数是一个布尔值,表示是否搜索子目录。第三个参数是一个正则表达式,用于匹配文件名。
请注意,这种方法只适用于 Webpack 项目。如果你的项目不使用 Webpack,你可能需要使用其他方法来获取相同的结果。
阅读全文