Deno:你能拦截模块加载/导入吗?
Posted
技术标签:
【中文标题】Deno:你能拦截模块加载/导入吗?【英文标题】:Deno: Can you Intercept Module Loading/Importing? 【发布时间】:2020-11-01 10:18:53 【问题描述】:deno 是否有任何功能可以让您拦截通过import
包含的模块的加载?
也就是说——在 Node.js 中,程序员可以redefine the require 来拦截 CommonJS 模块的加载。 Node.js 还具有experimental loaders 功能,可让您拦截 ES6 模块加载。
deno 的库存模块加载器(即 import
)是否有类似的东西?如果没有,在 deno 中是否有类似的计划,或者该项目的理念是否反对这种事情?
【问题讨论】:
【参考方案1】:默认情况下,CommonJS 模块系统在 DENO 中不可用。但是,如果要拦截加载 Node.js 方式的模块,则必须在 DENO 中使用使用 createRequire 的 npm 模块。更多详情Check this answer for如何在DENO中使用npm模块?
【讨论】:
感谢您的回复。恐怕我的问题不清楚,虽然您的答案包含有用的信息 (+1),但这不是我要查找的信息。我想要一种通过import
语句拦截/监听在 deno 中加载的模块的方法。我提到的问题只需要解释我如何在 Node.js 中实现类似的东西。我为我的问题添加了一些额外的上下文以使其更清楚。以上是关于Deno:你能拦截模块加载/导入吗?的主要内容,如果未能解决你的问题,请参考以下文章
延迟加载功能模块中未知的 Angular http 客户端拦截器