标准库

Deno 提供一组标准模块,它们经过核心团队审计,保证能在 Deno 上工作。

标准库地址:https://deno.land/std/

版本和稳定性

标准库尚不稳定,因此采用与 Deno 不同的版本号。

最新的发布请查阅 https://deno.land/std/https://deno.land/std/version.ts

我们强烈建议:始终使用确定版本的标准库,以避免意外的改动。

排错 (Troubleshooting)

标准库中的一些模块使用了不稳定的 Deno API。

不用 --unstable 命令行选项运行这些模块会产生一些 TypeScript 错误,表示 Deno 命名空间中不存在一些 API:

  1. // main.ts
  2. import { copy } from "https://deno.land/std@0.50.0/fs/copy.ts";
  3. copy("log.txt", "log-old.txt");
  1. $ deno run --allow-read --allow-write main.ts
  2. Compile file:///dev/deno/main.ts
  3. Download https://deno.land/std@0.50.0/fs/copy.ts
  4. Download https://deno.land/std@0.50.0/fs/ensure_dir.ts
  5. Download https://deno.land/std@0.50.0/fs/_util.ts
  6. error: TS2339 [ERROR]: Property 'utime' does not exist on type 'typeof Deno'.
  7. await Deno.utime(dest, statInfo.atime, statInfo.mtime);
  8. ~~~~~
  9. at https://deno.land/std@0.50.0/fs/copy.ts:90:16
  10. TS2339 [ERROR]: Property 'utimeSync' does not exist on type 'typeof Deno'.
  11. Deno.utimeSync(dest, statInfo.atime, statInfo.mtime);
  12. ~~~~~~~~~
  13. at https://deno.land/std@0.50.0/fs/copy.ts:101:10

解决方法是加上 --unstable 选项:

  1. $ deno run --allow-read --allow-write --unstable main.ts

要确定哪些 API 是不稳定的,请查阅类型声明 lib.deno.unstable.d.ts

这个问题会在不远的将来解决。