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 开发中有所指导和帮助。
Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/677123896d66e0f9aacc1665