Deno 是一个现代化的 JavaScript 和 TypeScript 运行时环境,使用它可以在浏览器之外运行 JavaScript 以及 TypeScript 应用程序。与 Node.js 不同的是,Deno 不使用 npm 来管理依赖项,而是使用类似浏览器的方式将其放在 JavaScript 文件中。
在 Deno 中,在导入模块时,可以使用 URL 来定位模块的位置,这些 URL 必须指向远程服务器或文件系统目录之一。Deno 内置了一个名为 deno.land/std
的模块,其中包含了许多有用的模块用来处理各种任务,例如处理文件系统和网络请求。
但是,当你使用 Deno 开发应用程序时,你可能会遇到需要依赖于其他第三方库的情况。在本文中,我们将探讨如何在 Deno 模块中查找依赖项。
Deno 引入第三方库的几种方式
当 Deno 开发者想引入第三方库时,有几种可行的方法:
1. 直接导入本地文件
这是最简单的方式,如果你已经将第三方库下载下来,并放在某个文件夹下,你可以像导入本地模块一样 import
导入。例如:
------ - ----- - ---- -----------------------
然后就可以正常使用 hello
模块了。
2. 导入 URL
如果你在 Web 上找到了某个给定的 URL,你也可以将其导入到你的应用程序中。例如:
------ - ------------ - ---- ---------------------------------
然后就可以像使用本地模块一样使用 someFunction
模块了。
3. 使用 Deno CLI
Deno CLI 提供了一种使用 deno cache
命令缓存本地依赖项的方法,例如:
---- ----- -------- ------------------------------------
运行此命令将会下载或更新 https://deno.land/std/http/server.ts
,并将其缓存到本地机器上,这意味着在之后的运行时可以快速访问该模块。
4. 使用 Deno.land/x
与 npm 一样,Deno.land/x 是一个 Deno 代码库的集合,允许开发者使用命令行安装和更新第三方库。例如:
------ - ----- - ---- ----------------------------------
这将导入 Deno.land/x 代码库中的 http
模块。
使用 require 对象和 HTML 规范
Deno 还支持以下功能:
require 对象
Deno 中也提供了类似 Node.js 中的 require
对象。它可以对文件和文件夹进行导入,例如:
----- --- - --------------------------- -----------------
HTML 规范
Deno 还支持 HTML 规范中的 <script type="module">
标签,例如:
---- ---------- --- ------ ------ ------- ------------- ------------------------ ------- ------------- -------
使用 import_map.json
Deno 还提供了一种用于声明从哪个 URL 加载模块的文件的方式,称为 import_map.json
。这个 JSON 对象列出了模块名称的别名以及指向实际模块 URL 的映射。
例如,下面的 import_map.json
映射了模块名 vue
到其实际 URL:
- ---------- - ------ ----------------------------------------------------------------- - -
然后,我们可以像这样导入模块:
------ - --------- - ---- ------
运行时,Deno 将查找并下载 https://cdn.jsdelivr.net/npm/vue@3.0.11/dist/vue.esm-browser.js
,然后将其添加到应用程序中。
总结
本文介绍了在 Deno 模块中查找依赖项的几种方法,其中包括直接导入本地文件、导入 URL、使用 Deno CLI、使用 Deno.land/x、require 对象和 HTML 规范,以及使用 import_map.json
。这些方法使得开发者能够根据自己的需要编写便捷的应用程序,并为其添加所需的依赖项。
希望本篇文章能够帮助您更好地掌握在 Deno 中查找和管理依赖项的技巧。下面是一个示例代码,它演示了如何使用上述技术进行导入。
-- ------ ------ - ----- - ---- ----------------------- -- --- -- ------ - ------------ - ---- --------------------------------- -- -- ---- --- ---- ----- -------- ------------------------------------ -- -- ----------- ------ - ----- - ---- ---------------------------------- -- ------- -- ----- --- - --------------------------- -- ---- -- ------ ------ ------- ------------- ------------------------ ------- ------------- ------- -- --------------- - ---------- - ------ ----------------------------------------------------------------- - -
祝你在 Deno 的开发中愉快!
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6494c12f48841e989421cf3d