首页  >  问答  >  正文

Node中多重加载器的使用

<p>在Node中,加载器可以用来钩入模块加载过程,拦截<code>import</code>或<code>require</code>语句。这个功能很好用,但是有时候你可能需要使用多个加载器。比如,你正在使用基于ESBuild、ts-node或SWC的某个加载器来加载你的“正常”测试代码,但是后来你发现你还想使用Quibble来拦截某些特定ESM模块的调用。</p> <p>目前,直接支持使用多个加载器是不可能的,尽管工作正在进行中,所以我想知道如何通过一些变通方法来实现。我猜想,一个方法就是编写一个包装器来在不同的加载器之间进行委托,或者将一个加载器的输出作为另一个加载器的输入?</p> <p>我看到加载器的API似乎是可以处理的,但是任何关于如何实现这一点的实际提示都会受到赞赏:)</p>
P粉986028039P粉986028039438 天前613

全部回复(1)我来回复

  • P粉523625080

    P粉5236250802023-08-10 15:15:18

    看来我说你不能在今天使用多个加载器是错误的。只是API(一直以来都是如此)被标记为实验性和不稳定的。你可以把它看作是一系列相互衔接的处理程序,就像使用require一样:

    node \
      --experimental-loader unpkg \
      --experimental-loader http-to-https \
      --experimental-loader cache-buster

    这个回答还不完整,所以当我了解更多时我会补充(或者其他人可以编辑它)。

    回复
    0
  • 取消回复