Deno 开发者必读:Deno 模块化规范及使用技巧

阅读时长 5 分钟读完

Deno 是一个现代化的 JavaScript/TypeScript 运行时环境,它允许你在浏览器之外运行 JavaScript,并且不需要使用 npm 等包管理器。它提供了一个安全的环境来执行 JavaScript 代码,并且允许你直接使用标准库和原生的 ES 模块。本文将向您介绍 Deno 的模块化规范及使用技巧,让您更好的使用 Deno 技术。

Deno 模块化规范

Deno 采用了原生的 ES 模块来定义和组织代码,而不是使用类似于 Node.js 的 require() 函数。Deno 中可以使用 ES 的 import 语句来导入模块,例如:

这里,我们从 https://deno.land/x/oak/mod.ts 导入了 Application。需要注意的是,我们需要填写完整的导入路径,包括协议和域名。这是因为 Deno 默认使用 HTTPS 来下载模块,同时也可以使用 HTTP、本地文件和数据 URL。

与 Node.js 不同的是,Deno 不会在本地缓存模块。每次引用模块时,Deno 都会重新下载该模块。这样做的优点在于,可以确保使用的始终是最新的版本。另外,Deno 不使用 package.json 文件来管理模块,而是使用一个名为 deps.ts 的文件来声明依赖项。例如:

这里,我们使用 export 命令将 Application 导出,以便可以在其他文件中引用。需要注意的是,我们没有使用 import 命令来导入 Application 模块,而是直接通过 URL 引用它。这是因为 Deno 在解析依赖并下载依赖项时会自动加载 deps.ts 文件。

另外,Deno 还支持本地导入和动态导入。

本地导入示例代码:

动态导入示例代码:

Deno 使用技巧

使用 TypeScript

Deno 支持使用 TypeScript 来编写代码。在使用 TypeScript 时,您需要使用 .ts 文件扩展名。通过 TypeScript,您可以提高代码的可读性、可维护性和质量,并减少常见错误。

安装 TypeScript:

编译 TypeScript 文件:

运行权限

Deno 默认情况下是非常安全的,它默认只允许读取当前目录中的文件和标准输入输出。如果您需要访问网络或文件系统,您需要使用 --allow-net--allow-read 等标志。

例如,这里我们打开一个端口并监听来自网络的请求:

您需要使用以下命令启动服务:

另外,Deno 还支持直接从 URL 加载 JavaScript 代码并执行,例如:

调试技巧

Deno 提供了两种调试选项:--inspect--inspect-brk。这两个选项都在默认情况下在 WebSocket 上侦听调试器,并且需要使用 Chrome DevTools 打开它们。

--inspect 允许你连接并调试运行中的代码,而 --inspect-brk 将在代码执行之前暂停它,等待调试器连接。的默认端口为 9229

例如,这里我们使用 --inspect-brk 标志暂停代码执行:

-- -------------------- ---- -------
-------- --------- ------- -
    ------ --- --------------- -- ------------------- -----
-

----- -------- ------- ------------- -
    ------------------ ---------
    ----- ------------
    ----------------- -------
-

-------

您需要使用以下命令启动程序:

然后,您可以使用 Chrome DevTools 连接到 chrome://inspect,并在 Debugger 面板中通过调试器调试程序。

结论

Deno 是一个功能强大而又安全的 JavaScript 运行时环境,它使用原生 ES 模块来组织代码,可以让开发者更加方便、快速地开发 Web 应用程序。本文介绍了 Deno 的模块化规范及几个使用技巧,希望本文可以对你在 Deno 开发中有所指导和帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/677123896d66e0f9aacc1665

纠错
反馈