跳至主要内容

遍历目录

在进行诸如文件系统路由之类的操作时,能够遍历目录以访问文件非常有用。

在 Github 上编辑
如果目录没有深度(没有文件夹),我们可以使用内置的 Deno.readDir。
for await (const dirEntry of Deno.readDir(".")) {
  console.log("Basic listing:", dirEntry.name);
}
另一方面,如果您需要递归遍历存储库,标准库有一个方法可以做到这一点。在最简单的情况下,它是一个直接替换
import { walk } from "jsr:@std/fs/walk";

for await (const dirEntry of walk(".")) {
  console.log("Recursive walking:", dirEntry.name);
}
我们还可以指定一些设置来定制我们的结果。在构建文件系统路由的情况下,限制结果仅包含某些扩展名可能很有用
for await (const dirEntry of walk(".", { exts: ["ts"] })) {
  console.log("Recursive walking with extension:", dirEntry.name);
}

使用 Deno CLI 在本地运行 此示例

deno run --allow-read https://docs.deno.org.cn/examples/walking-directories.ts