首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在web-worker中导入fabric.js?

无法在web-worker中导入fabric.js?
EN

Stack Overflow用户
提问于 2021-10-06 14:13:04
回答 1查看 106关注 0票数 0

我正在使用webpack开发一个React.js应用程序。我需要用布料做一项繁重的工作。因此,我尝试使用web worker来实现此目的。我使用worker-loader插件来运行web-worker。我的woker工作得很好。这是我的worker文件

代码语言:javascript
复制
var jsZip = require('jszip')
const PDFDocument = require('@react-pdf/pdfkit').default
const SVGtoPDF = require('svg-to-pdfkit')
const fabric = require('fabric')

self.onmessage = async ({ data: { canvasInfo } }) => {

    const canvas = new fabric.StaticCanvas('canvas', {
      width:1024,
      height: 1024,
      selection: false,
    })

    // Doing heavy work with fabric canvas fn()

    self.postMessage({
      message:"success"
    })
}

但我得到了以下错误:

代码语言:javascript
复制
Uncaught TypeError: jsdom.JSDOM is not a constructor
    at Object../node_modules/fabric/dist/fabric.js (fabric.js:25)
    at __webpack_require__ (bootstrap:21)
    at web.worker.js:5
    at web.worker.bundle.worker.js:140722
    at web.worker.bundle.worker.js:140724

我需要在我的webpack配置中添加什么来解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2021-10-07 08:45:14

web worker可能有未定义的窗口,正在触发nodejs代码路径。你应该在回购上打开一个问题,我们应该想个解决办法。Fabricjs确实使用了可能在worker中不可用的dom相关方法。

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

https://stackoverflow.com/questions/69467398

复制
相关文章

相似问题

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