import.meta.glob('./pages/zh-cn/*.ts') 找不到文件
时间: 2023-02-09 22:51:42 浏览: 86
这个问题有可能是由以下几个原因造成的:
1. 当前目录下没有 "./pages/zh-cn" 这个文件夹。你可以使用 `ls` 命令查看当前目录下的文件和文件夹,看看有没有 "./pages/zh-cn" 这个文件夹。
2. "./pages/zh-cn" 这个文件夹存在,但是里面没有任何文件,或者没有任何以 ".ts" 结尾的文件。你可以在 "./pages/zh-cn" 文件夹中检查一下,看看有没有 ".ts" 文件。
3. 你的代码中的路径写错了。你可以使用绝对路径或者相对路径来指定文件路径,确保文件路径正确。
4. 你的代码可能是在执行前就出错了,导致无法找到文件。你可以检查一下你的代码,看看有没有语法错误或者其他问题。
希望这些建议能帮到你。
相关问题
import.meta.glob('../src/utils/**/*.run.ts' 匹配方式还有哪些
除了使用 import.meta.glob('../src/utils/**/*.run.ts' 之外,还可以使用其他的匹配方式,比如:
1. 使用 path.resolve() 方法获取绝对路径,并在其中使用 glob.sync() 方法进行匹配。例如:
```
const path = require('path');
const glob = require('glob');
const files = glob.sync(path.resolve(__dirname, '../src/utils/**/*.run.ts'));
```
2. 使用 Node.js 的 fs 模块中的 readdir() 方法获取目录下所有文件的文件名,然后再使用 glob 匹配需要的文件。例如:
```
const fs = require('fs');
const glob = require('glob');
fs.readdir('../src/utils', (err, files) => {
const filesToMatch = files.filter((file) => file.endsWith('.run.ts'));
const matchedFiles = glob.sync(`../src/utils/{${filesToMatch.join(',')}}`);
});
```
3. 使用 webpack 中的 require.context() 方法进行匹配。例如:
```
const files = require.context('../src/utils', true, /\.run\.ts$/);
```
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。