Deno 是一个现代化的 JavaScript/TypeScript 运行时环境,它允许你在浏览器之外运行 JavaScript,并且不需要使用 npm 等包管理器。它提供了一个安全的环境来执行 JavaScript 代码,并且允许你直接使用标准库和原生的 ES 模块。本文将向您介绍 Deno 的模块化规范及使用技巧,让您更好的使用 Deno 技术。
Deno 模块化规范
Deno 采用了原生的 ES 模块来定义和组织代码,而不是使用类似于 Node.js 的 require()
函数。Deno 中可以使用 ES 的 import
语句来导入模块,例如:
import { Application } from "https://deno.land/x/oak/mod.ts";
这里,我们从 https://deno.land/x/oak/mod.ts
导入了 Application
。需要注意的是,我们需要填写完整的导入路径,包括协议和域名。这是因为 Deno 默认使用 HTTPS 来下载模块,同时也可以使用 HTTP、本地文件和数据 URL。
与 Node.js 不同的是,Deno 不会在本地缓存模块。每次引用模块时,Deno 都会重新下载该模块。这样做的优点在于,可以确保使用的始终是最新的版本。另外,Deno 不使用 package.json
文件来管理模块,而是使用一个名为 deps.ts
的文件来声明依赖项。例如:
export { Application } from "https://deno.land/x/oak/mod.ts";
这里,我们使用 export
命令将 Application
导出,以便可以在其他文件中引用。需要注意的是,我们没有使用 import
命令来导入 Application
模块,而是直接通过 URL 引用它。这是因为 Deno 在解析依赖并下载依赖项时会自动加载 deps.ts
文件。
另外,Deno 还支持本地导入和动态导入。
本地导入示例代码:
import { SomeModule } from "./path/to/some_module.ts";
动态导入示例代码:
const module = await import("./path/to/module.ts");
Deno 使用技巧
使用 TypeScript
Deno 支持使用 TypeScript 来编写代码。在使用 TypeScript 时,您需要使用 .ts
文件扩展名。通过 TypeScript,您可以提高代码的可读性、可维护性和质量,并减少常见错误。
安装 TypeScript:
$ deno install --allow-read --allow-write -n ts https://deno.land/std/typescript/ts/lib/tsc.js
编译 TypeScript 文件:
$ ts myfile.ts
运行权限
Deno 默认情况下是非常安全的,它默认只允许读取当前目录中的文件和标准输入输出。如果您需要访问网络或文件系统,您需要使用 --allow-net
和 --allow-read
等标志。
例如,这里我们打开一个端口并监听来自网络的请求:
import { serve } from "https://deno.land/std/http/server.ts"; const server = serve({ port: 8080 }); console.log("http://localhost:8080/"); for await (const req of server) { req.respond({ body: "Hello Deno!" }); }
您需要使用以下命令启动服务:
$ deno run --allow-net app.ts
另外,Deno 还支持直接从 URL 加载 JavaScript 代码并执行,例如:
$ deno run https://deno.land/std/examples/welcome.ts
调试技巧
Deno 提供了两种调试选项:--inspect
和 --inspect-brk
。这两个选项都在默认情况下在 WebSocket 上侦听调试器,并且需要使用 Chrome DevTools 打开它们。
--inspect
允许你连接并调试运行中的代码,而 --inspect-brk
将在代码执行之前暂停它,等待调试器连接。的默认端口为 9229
。
例如,这里我们使用 --inspect-brk
标志暂停代码执行:
-- -------------------- ---- ------- -------- --------- ------- - ------ --- --------------- -- ------------------- ----- - ----- -------- ------- ------------- - ------------------ --------- ----- ------------ ----------------- ------- - -------
您需要使用以下命令启动程序:
$ deno run --inspect-brk app.ts
然后,您可以使用 Chrome DevTools 连接到 chrome://inspect
,并在 Debugger 面板中通过调试器调试程序。
结论
Deno 是一个功能强大而又安全的 JavaScript 运行时环境,它使用原生 ES 模块来组织代码,可以让开发者更加方便、快速地开发 Web 应用程序。本文介绍了 Deno 的模块化规范及几个使用技巧,希望本文可以对你在 Deno 开发中有所指导和帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/677123896d66e0f9aacc1665