首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复webpack“模块未找到”的可选传递依赖错误?

如何修复webpack“模块未找到”的可选传递依赖错误?
EN

Stack Overflow用户
提问于 2021-09-06 06:57:34
回答 1查看 757关注 0票数 1

我遇到了以下问题,我正在使用的软件库之一对‘web工人’有一个可选的依赖关系。如果网络工作者包是可用的,它将使用它,如果它找不到网络工作者包,它将使用另一个不使用网络工作者包的代码路径。

我遇到的问题是,当尝试创建一个角度构建时,它会产生以下错误。

找不到

模块:错误:无法解析中的“web工作者”

如果我检查这个包中的main.js文件,它所做的几乎第一件事就是检查worker是否可用,如果没有,它将不会尝试加载worker。

代码语言:javascript
运行
复制
    var workerThreadsExist = false;
    try {
      require.resolve('web-worker');
      workerThreadsExist = true;
    } catch (e) {}

    // user requested a worker
    if (options.workerUrl) {
      if (workerThreadsExist) {
        var Worker = require('web-worker');
        optionsClone.workerFactory = function (url) {
          return new Worker(url);
        };
      } else {
        console.warn('Web worker requested but \'web-worker\' package not installed. \nConsider installing the package or pass your own \'workerFactory\' to ELK\'s constructor.\n... Falling back to non-web worker version.');
      }
    }

因此,即使代码流在不可用时不需要(‘web工作者’),但由于某种原因,我在试图构建应用程序时仍然会遇到错误。

如果我改变了

if (options.workerUrl)

转到

if (假)

它仍然给了我模块未找到的错误,消除错误的唯一方法是安装软件包或删除

var Worker =require(‘worker’);

线路。

我怎么才能告诉阿角或者webpack忽视这个丢失的包裹呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-14 14:49:38

您可以告诉webpack忽略web-worker模块,elkjs正在尝试使用webpack.IgnorePlugin进行require

在你的webpack.config.js

代码语言:javascript
运行
复制
{
  plugins: [
    new webpack.IgnorePlugin({
      resourceRegExp: /web-worker/,
      contextRegExp: /elkjs\/lib$/,
    })
  ]
}

这应该告诉webpack忽略web-worker在以elkjs/lib结尾的目录路径中的任何require语句。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69070312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档