如何在webpack中设置外部回退?

时间:2018-07-24 07:23:13

标签: javascript webpack requirejs

将项目从RequireJS迁移到webpack,这是webpack的新功能。

某些库是从外部CDN加载的。 AdBlock等可防止某些客户端加载这些内容。在这种情况下,存在一个具有相同方法名称的本地伪对象,它们的用途不同或只是无效。 RequireJS中有一个path fallback选项。

我想知道如何使用Webpack实现相同的后备机制吗?

到目前为止,我仅定位externals部分来定义CDN加载的模块。

一些代码来说明这个问题。 Yandex.Metrika计数器的RequireJS配置:

requirejs.config({
  paths:
    "yametrika": [
      "//mc.yandex.ru/metrika/watch",
      "lib/yamertika_dummy"
    ],

假人lib/yamertika_dummy(剥离):

define([], function () {
    return {
        reachGoal:    function(){}
      , params:     function(){}
    };
  }
);

在此处,代码模块Metrika是必需的,并称为:

Metrika.params({...});
// ...
Metrika.reachGoal({...});

我看到一个选择,可以将每个调用包装到try..catch中可能丢失的模块上。但理想情况下,我想提供替代品。

0 个答案:

没有答案