如何解决使用 Draft.js 的 React 和 Electron:“未定义全局”
这里提出了一个类似的问题:Uncaught ReferenceError: global is not defined at Object../node_modules/fbjs/lib/setImmediate.js
关于这个问题有两个答案,似乎都相信他们可以解决这个问题。对我来说的问题是——没有给出如何实现答案的解释。
基本上,我有一个包含 React 的电子应用程序,一切正常,直到我尝试将 Draft.js 实施到项目中。我收到以下错误:
app.js:19805 Uncaught ReferenceError: global is not defined
日志将我指向 babel/webpack 编译的 app.js 中的一行:
module.exports = global.setImmediate;
导致它的具体事情缩小到一个导入语句:
import {Editor,EditorState} from 'draft-js';
(window as any).global = window;
我想不通的是……这是什么意思?在我的 main.js 文件中,我在其中创建窗口(它只是整个应用程序的一个窗口)尝试执行此操作,似乎无论我在哪里尝试执行此操作都会引发错误,而且我似乎找不到任何参考完全定义“全局”。我应该在哪里定义“全局”?
解决方法
global 在 tc39 提案中被重命名为 globalThis https://github.com/facebook/fbjs/issues/290
只需将其添加到 index.html 这就是我修复它的方式
<script>
const global = globalThis;
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。