引言
Deno 是一个新的 JavaScript 和 TypeScript 运行时环境,由 Node.js 的创始人和其他一些贡献者共同开发。作为一种新的技术,Deno 还存在一些不为人知的特性,比如本地和全局模块的使用方式。在本文中,我们将深入探讨这些内容,为读者提供详细的说明和示例代码。
Deno 中的本地模块
本地模块是指在当前项目中的模块。Deno 中,我们可以使用相对路径或者绝对路径来引入本地模块。
使用相对路径引入本地模块
如下所示,我们在一个名为 myProject
的项目中,创建了两个文件 main.js
和 util.js
。
myProject ├── main.js └── utils.js
我们可以在 main.js
文件中使用相对路径引入 utils.js
文件。
import { helper } from './utils.js'; helper(); // 调用 `helper` 函数
使用绝对路径引入本地模块
我们也可以使用绝对路径来引入本地模块,只需要在路径前加上 file://
即可。
import { helper } from 'file:///home/user/myProject/utils.js'; helper(); // 调用 `helper` 函数
Deno 中的全局模块
全局模块是指在 Deno 安装路径中的模块。可以通过 deno info
命令查看 Deno 的安装路径。例如,如果我们的 Deno 安装在 /home/user/.deno
目录下,那么全局模块的路径就应该是 /home/user/.deno/bin
。
如果我们希望在项目中使用全局模块,我们需要将该模块的路径添加到环境变量中,或者在启动时指定模块的路径。
import { serve } from 'http://localhost:8000/mod.ts'; for await (const req of serve({ port: 8000 })) { console.log('Request received'); }
如上所示,我们使用了 http://localhost:8000/mod.ts
引入了一个全局模块。在命令行中,我们可以使用 --allow-net
参数启动该脚本。如果我们不想在启动时指定路径,我们可以将 http://localhost:8000
添加到环境变量中。
模块缓存
Deno 使用一个缓存来避免重复加载模块。如果我们使用相对路径引入模块,在缓存中找到对应的模块后,仅会加载一次。如果我们使用绝对路径或者 URL 引入模块,在第一次使用时,Deno 会先把该模块下载到本地缓存中,下一次使用时则从缓存中加载。
结论
了解本地和全局模块的使用方式,对于开发者来说非常重要。本文简要介绍了这些内容,并提供了详细的示例代码。如果您想深入学习 Deno 框架的相关内容,可以参考官方文档,或者访问社区论坛和博客,寻求更多的帮助和指导。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674d6243a336082f254cff44