deno.com
本页内容

一体化工具

视频描述 跳转到标题

在 Node.js 中,在开始项目工作之前,我们必须进行配置步骤,例如代码检查(linting)、格式化和测试。Deno 通过原生包含这些工具为我们节省了大量时间。让我们看看这些内置 CLI 工具中包含了什么。

文本和代码 跳转到标题

这里我们有一个名为 sing 的函数

function sing(phrase: string, times: number): string {
  return Array(times).fill(phrase).join(" ");
}

现在让我们运行格式化工具

deno fmt

格式化工具会自动根据 Deno 的规则和约定来格式化你的代码。让我们运行它来清理任何格式问题。

Deno 甚至会格式化 Markdown 文件中的代码片段。因此,任何用三重反引号括起来的内容,在你运行此命令时也会被格式化。

deno lint 命令用于分析你的代码中潜在的问题。它类似于 ESLint,但内置于 Deno 中。

deno lint --help

这将对当前目录及其子目录中所有的 JavaScript 和 TypeScript 文件进行代码检查。

你也可以通过传递文件名来检查特定文件

# lint specific files
deno lint myfile1.ts myfile2.ts

你可以在特定目录上运行它

deno lint src/

如果你想跳过某些文件的代码检查,可以在文件顶部添加注释,Deno 就会知道跳过此文件。

// deno-lint-ignore-file
// deno-lint-ignore-file -- reason for ignoring

Deno 还有一些用于测试的 CLI 命令。在我们的目录中,有一个测试文件。它以函数名加上测试后缀命名。

sing_test.ts
import { sing } from "./sing.ts";
import { assertEquals } from "jsr:@std/assert";

Deno.test("sing repeats a phrase", () => {
  const result = sing("La", 3);
  assertEquals(result, "La La La");
});

现在,我们将使用 deno test 命令运行测试。Deno 会自动发现并运行测试文件。

deno test

Deno 判断哪些文件应该被视为测试文件的方式是遵循以下规则:

_test.ts, _test.js, _test.tsx, _test.jsx, .test.js, .test.ts, .test.tsx, .test.jsx

deno test encourage.test.js

或者你可以传递一个特定的目录路径,Deno 会在那里搜索测试文件。

./tests/

你甚至可以检查代码覆盖率。默认情况下,当你运行 deno test --coverage 时,一个覆盖率配置文件将在当前工作目录的 /coverage 目录中生成。

deno test --coverage

从那里你可以运行 deno coverage 将覆盖率报告打印到标准输出

deno coverage

如你所见,Deno 的内置工具非常酷。我们不必花一整天的时间来配置这些设置,然后才能开始项目工作。而且我们可以格式化、检查和测试代码,而无需第三方依赖。

示例页面 和我们的 YouTube 频道中找到更多视频。

您找到所需内容了吗?

隐私政策