gpt4 book ai didi

ecmascript-6 - Webpack worker-loader - 导入不起作用

转载 作者:行者123 更新时间:2023-12-01 04:54:00 25 4
gpt4 key购买 nike

我正在使用 React/Webpack/ES6 制作应用程序,但遇到了问题。

我正在尝试使用网络 worker 进行 API 调用。我有一个功能线程池来启动我的网络 worker ,并且没有问题。

问题是我正在使用 webpack worker-loader 来创建我的工作人员,如果我想导入这样的外部库:

import MyLibrary from './path/to/MyLibrary';

我收到这样的错误:
Uncaught ReferenceError: window is not defined

我不能让它工作,但根据 documentation ,我认为我做得对。任何的想法?

最佳答案

好吧,您没有与 MyLibrary 共享任何可能有问题的代码。 .通常,JavaScript 错误对象包含有关引发错误的行和文件的信息。

尽管如此,我还是会猜测一下明显的可能性:您正在使用 windowMyLibrary . window网络 worker 中未定义全局属性! 对于必须与 worker 兼容的代码,请使用 self .它也可以在普通浏览器上下文中工作 - self因此优于 window .

作为旁注,也不要依赖 window没有在 worker 中定义——一些库定义它来处理兼容性问题。我也这样做,有时:

if(typeof window != "object")
self.window = self;

如果您不能或不想编辑库,这也是可以接受的解决方法。我对 make jQuery work in web workers 做了这件事,还有更多.

关于ecmascript-6 - Webpack worker-loader - 导入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38747706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com