/src/views/**/*.vue 怎么获取
时间: 2023-07-04 18:26:03 浏览: 166
如果你想获取 Vue 应用程序中 `src/views` 目录下的所有 `.vue` 文件的路径,可以使用 Node.js 的 `glob` 模块来实现。
首先,你需要在你的 Vue 项目中安装 `glob` 模块:
```bash
npm install glob --save-dev
```
然后,在你的代码中,使用以下代码获取匹配的文件路径:
```javascript
const glob = require('glob')
const vueFiles = glob.sync('./src/views/**/*.vue')
console.log(vueFiles)
// Output: [ './src/views/Home.vue', './src/views/About.vue', ... ]
```
这个方法使用了 `glob.sync()` 方法来同步获取所有匹配的文件路径。`./src/views/**/*.vue` 是一个通配符模式,它将匹配 `src/views` 目录下的所有子目录中的 `.vue` 文件。
请注意,在使用这种方法时,你需要确保目标目录中只包含你想要匹配的文件。如果目录中包含其他类型的文件,你可能需要使用其他的通配符模式来排除这些文件。
相关问题
import.meta.glob("/src/views/**/*.vue");返回的结果格式是什么样的
`import.meta.glob("/src/views/**/*.vue")` 返回的结果是一个对象,键是匹配的文件路径,值是一个 `Promise` 对象,该对象解析为一个包含模块的对象。
例如,如果你有以下文件结构:
```
└── src/
└── views/
├── Home.vue
├── About.vue
└── sub/
├── SubPage.vue
└── SubSub/
└── SubSubPage.vue
```
使用 `import.meta.glob("/src/views/**/*.vue")` 将返回以下对象:
```javascript
{
'./src/views/About.vue': Promise { <pending> },
'./src/views/Home.vue': Promise { <pending> },
'./src/views/sub/SubPage.vue': Promise { <pending> },
'./src/views/sub/SubSub/SubSubPage.vue': Promise { <pending> }
}
```
你可以使用 `Object.keys()` 方法获取所有匹配的文件路径:
```javascript
const modules = await Promise.all(
Object.keys(import.meta.glob("/src/views/**/*.vue")).map(async (path) => {
const module = await import(path)
return {
path,
module
}
})
)
console.log(modules)
// Output:
// [
// {
// path: './src/views/About.vue',
// module: {...}
// },
// {
// path: './src/views/Home.vue',
// module: {...}
// },
// {
// path: './src/views/sub/SubPage.vue',
// module: {...}
// },
// {
// path: './src/views/sub/SubSub/SubSubPage.vue',
// module: {...}
// }
// ]
```
请注意,`import.meta.glob()` 是一个实验性功能,可能需要在一些浏览器中启用或使用 polyfill。
These dependencies were not found: * @/views/About.vue in ./src/router/index.js * @/views/Home.vue in ./src/router/index.js
这个错误通常是因为你在`router/index.js`文件中引用了`@/views/About.vue`和`@/views/Home.vue`组件,但是这两个组件在你的项目中并不存在。
解决这个问题的方法是,检查一下你的项目结构,确保`views`文件夹下有`About.vue`和`Home.vue`文件,并且它们的路径是正确的。这里的`@`符号是一个别名,指向`src`目录。因此,`@/views/About.vue`的路径实际上是`src/views/About.vue`。
如果你的项目结构是正确的,但仍然出现这个错误,那么可以尝试重新安装依赖项,以确保所有依赖项都已正确安装。可以使用以下命令重新安装依赖项:
```
npm install
```
如果你在使用Vue CLI创建项目时选择了默认的配置,则应该会自动为你创建`views`文件夹,并在其中包含`Home.vue`和`About.vue`组件。如果你手动创建了这些文件,那么请确保它们的文件名和路径都是正确的。
阅读全文
相关推荐

















