解决 Deno 引入本地模块时无法找到错误的方法

阅读时长 3 分钟读完

引言

Deno 是一个基于 V8 引擎的安全 TypeScript 运行时,它可以让开发者在浏览器之外运行 JavaScript 和 TypeScript 代码。Deno 的模块系统与 Node.js 不同,它使用 URL 来导入模块,可以从任何地方导入模块,包括本地的文件系统。

然而,有时候在 Deno 中引入本地模块时会遇到无法找到模块的问题,这可能会让人感到迷惑和困惑。本文将介绍解决这个问题的方法。

问题分析

在 Deno 中引入本地模块时,我们可以使用相对路径来引用模块,例如:

这种方式可以正常工作,但是如果在一个嵌套的文件夹中引用模块时,就会出现找不到模块的错误,例如:

bar.ts 文件中引用 foo.ts 文件时:

这时候运行 deno run app.ts 命令时会出现以下错误:

这个错误信息告诉我们,Deno 在解析模块路径时无法找到 ../foo.ts 文件。

解决方法

为了解决这个问题,我们可以使用 --allow-read 标志来允许 Deno 访问本地文件系统:

这个标志告诉 Deno 允许读取文件系统,这样就可以找到模块了。

另外,我们还可以使用 URL 来引用本地模块,例如:

这种方式可以避免路径问题,但是需要注意的是,使用 URL 引用本地模块时,需要使用 --allow-net 标志来允许 Deno 访问网络:

示例代码

下面是一个示例代码,演示如何在 Deno 中引用本地模块:

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

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

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

-- ------
------ - --- - ---- -------------------
展开代码

运行 deno run --allow-read app.ts 命令,输出:

总结

在 Deno 中引用本地模块时,有时候会遇到找不到模块的错误。我们可以使用 --allow-read 标志来允许 Deno 访问本地文件系统,或者使用 URL 来引用本地模块。这些方法可以帮助我们解决这个问题。

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

纠错
反馈

纠错反馈