【问题标题】:Npm module with different code with and without proxy support具有和不具有代理支持的不同代码的 Npm 模块
【发布时间】:2021-12-20 10:51:06
【问题描述】:

我如何创建一个具有不同实现的 javascript 库(在 npm 上作为模块分发),具体取决于它运行的环境(转译为??)是否支持代理?

据我了解,babel 不(至少很容易)不支持转译代理,因此仅通过转译不容易解决。

【问题讨论】:

    标签: javascript npm node-modules transpiler


    【解决方案1】:

    你有几个选择:

    1:使用代理 polyfill

    一个例子是this(我认为应该足够好)或this

    2:检查Proxy变量是否存在

    除非您声明了一个名为 Proxy 的变量,否则我认为这应该足够了。

    console.log(typeof Proxy !== 'undefined')

    无论代理是否可用,这将输出一个Boolean 值。
    上述用法示例:

    if(typeof Proxy !== 'undefined') {
      // run code that uses Proxies
      console.log('I can use Proxies here!')
    }
    else {
      // run code that doesn't use Proxies
      console.log('Oops! I can\'t use Proxies here!')
    }

    注意:您必须使用typeof 来检查Proxy 变量是否存在,因为它只会返回undefined 而不会引发错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 2020-08-09
      • 1970-01-01
      • 2012-10-28
      • 2021-05-05
      • 2010-10-14
      相关资源
      最近更新 更多