javascript - React 中的 Worker 加载器
问题描述
这是我的组件:
import React, {Component} from 'react';
// eslint-disable-next-line import/no-webpack-loader-syntax
import Worker from 'worker-loader!../../workers/app.worker'
class MyComponent extends Component {
componentDidMount() {
let worker = Worker()
worker.addEventListener('message', e => {
console.log('succes', e.data)
})
worker.postMessage('please work')
}
render = () => {
return(<div>Not That Relevant</div>)
}
}
我非常简单的工人:
// eslint-disable-next-line no-restricted-globals
self.addEventListener('message', e =>{
console.log(e.data)
// eslint-disable-next-line no-restricted-globals
self.postMessage(e.data);
})
组件内部worker的实例化导致一个空的Worker,即:
Worker {onmessage: null, onerror: null}
不用说:它什么都不做,app.worker 路径是正确的。
另外,由于我导入了加载程序,我得到:
Uncaught ReferenceError: window is not defined
at bootstrap:1
at bootstrap:791
所以我认为这worker-loader
在某种程度上弄乱了 webpack-config。
为什么会这样?
解决方案
推荐阅读
- selenium - Selenium 处理 cookie 警告
- selenium-grid - Selenium Grid:org.openqa.selenium.WebDriverException:转发新会话时出错 用于设置功能的 VM 空池
- python - 为什么在阻尼振荡中使用曲线拟合时会得到直线
- gitlab-ci - Docker 将镜像推送到存储库
- c# - 在核心工作者服务中创建多个 FileSystemWatcher 对象的正确方法
- sql - 游标在 Postgresql 中无法正确获取值
- google-sheets - Google Sheets IFS 和 TRIM SPLIT 只读取它找到的第一件事
- c++ - 使用 openCV-4.5.2 和 Visual Studio 2019 C++ 代码时如何修复链接器错误?
- android - 如何创建自定义可绘制对角渐变
- r - 在ggplot中为特定时间段添加两条单独的趋势线