- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试在我的 Electron 项目中渲染来自 ant design 的 Button 时出现此错误,但它什么也没渲染。当我从按钮更改为 Hello World 文本时,它起作用了。
我不确定错误是来自webpack还是ant design本身。
注意:我自己手动创建了这个项目,但是在https://github.com/Devtography/electron-react-typescript-webpack-boilerplate上可以重现错误但在 https://github.com/Robinfr/electron-react-typescript 上没有错误
错误信息
Uncaught ReferenceError: global is not defined
at Object../node_modules/fbjs/lib/setImmediate.js (renderer.js:58171)
at __webpack_require__ (renderer.js:20)
at Object../node_modules/draft-js/lib/editOnBeforeInput.js (renderer.js:49367)
at __webpack_require__ (renderer.js:20)
at Object../node_modules/draft-js/lib/DraftEditorEditHandler.js (renderer.js:45296)
at __webpack_require__ (renderer.js:20)
at Object../node_modules/draft-js/lib/DraftEditor.react.js (renderer.js:44011)
at __webpack_require__ (renderer.js:20)
at Object../node_modules/draft-js/lib/Draft.js (renderer.js:43920)
at __webpack_require__ (renderer.js:20)
webpack.config.js
const path = require("path");
const config = {
target: "electron-main",
devtool: "source-map",
entry: "./src/main.ts",
output: {
filename: "main.js",
path: path.resolve(__dirname, "dist")
},
module: {
rules: [
{
test: /\.(ts|tsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
]
},
resolve: {
extensions: [".ts", ".tsx", ".js"]
},
node: {
__dirname: false,
__filename: false
}
};
module.exports = (env, argv) => {
return config;
};
webpack.react.config.js
const path = require("path");
const HtmlWebPackPlugin = require("html-webpack-plugin");
const htmlPlugin = new HtmlWebPackPlugin({
template: "./src/index.html",
filename: "./index.html"
});
const config = {
target: "electron-renderer",
devtool: "source-map",
entry: "./src/app/renderer.tsx",
output: {
filename: "renderer.js",
path: path.resolve(__dirname, "dist")
},
module: {
rules: [
{
test: /\.(ts|tsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
},
{
test: /\.css$/,
loaders: ['style-loader', 'css-loader']
}
]
},
resolve: {
extensions: [".ts", ".tsx", ".js"]
},
plugins: [htmlPlugin]
};
module.exports = (env, argv) => {
return config;
};
最佳答案
只是为了向提供的答案添加一些上下文,将其添加到您的 index.html 文件中(在标记内):
<script>
const global = globalThis;
</script>
关于reactjs - 未捕获的 ReferenceError : global is not defined at Object. ./node_modules/fbjs/lib/setImmediate.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58936238/
接下来是 TypeScript 中的 Jest 测试。我想知道为什么需要 setImmediate() 。 第一个例子是一个有效的测试。接下来是我尝试过但不起作用的各种事情。我不明白发生了什么。 pu
下面的代码有效 - 但在我将 NODEJS 从 4.. 更新到 6.9.1 后,它突然抛出一个错误(对于每个调用)...这意味着它完美地执行了所有递归调用,然后告诉我大约 20 倍的错误下面的消息..
我正在尝试在我的 NodeJS 环境中创建一个每秒执行 30 次的循环(基于固定变量)。我被告知 setInterval 和 setTimeout 不是像 process.nextTick 和 set
据我了解,process.nextTick() 和 setImmediate() 之间的区别如下: 由 process.nextTick() 调度的回调将在进入下一个事件循环之前全部执行,而由 set
Node.js 版本 0.10 今天发布,并引入了 setImmediate。 API changes文档建议在执行递归 nextTick 调用时使用它。 来自什么MDN says它看起来与proce
Salam(意思是你好:)) 在我的 node.js 应用程序中,我需要使用 setImmediate() 来隐性调用函数并保持其上下文完整以供下次执行。 考虑以下示例: var i=3; funct
Node.js 0.10 版今天发布,引入了setImmediate。 API changes文档建议在进行递归 nextTick 调用时使用它。 来自MDN says它似乎与 process.nex
我对 Node.js 文档的以下段落感到困惑。 setImmediate() vs setTimeout() ... The order in which the timers are execute
我想异步调用给定的函数。包装函数 tryCallAsync 是执行此操作的一种方法。这种方法有效。但是,它要求 setImmediate 的回调是异步函数。这似乎是错误的,因为回调正在返回一个未使用的
使用 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop 中的视觉表示: setImmediate() 和
在我的情况下,方法必须通过 setImmediate 递归和异步地调用自身。 下一个代码与原始代码没有任何关系,但出现了同样的“问题”:“this”引用似乎在第二次调用时丢失了。 function A
目前有 2 个不同的 API 旨在将任务分解为预定的回调函数。 setImmediate (非标准) requestIdleCallback (实验性的) 据我所知,目前还没有实现这两种功能的 Jav
我想知道如何将 setImmediate 与 async wait 结合使用并正确处理错误。我写了以下代码。但我不确定它是否遵循最佳实践。 我的 Express 应用程序中有一条路线 router.g
我正在学习 setImmediate() 的工作原理,但遇到了一个我找不到技术解释的怪事。 代码非常简单: setImmediate(function(){ console.log("thir
在 nodejs 的官方网站(https://nodejs.org/api/timers.html#timers_setimmediate_callback_arg)中,据说: setImmediat
我在 Node documentation 上读到了这个: setImmediate(callback, [arg], [...]) To schedule the "immediate" execu
Onsen UI 在动态渲染温泉的 js 和 css 时抛出错误。但是当我在静态 html 中使用它时它正在工作。错误: Uncaught ReferenceError :未定义 setImmedia
我正在使用 fast-csv ( https://www.npmjs.com/package/fast-csv ) 来解析 csv 文件。 它可能有 10k 条记录,因此需要花费大量时间来解析,并且该
据我了解,对于 setImmediate 的名称存在一些争议。有谁知道这个有用的功能是否会很快进入 V8/Spider Monkey,无论名称如何? 最佳答案 https://developer.mo
nodejs文档说 在 I/O 事件的回调之后和由 setTimeout 和 setInterval 设置的计时器被触发之前,安排“立即”执行回调。返回可能与 clearImmediate 一起使用的
我是一名优秀的程序员,十分优秀!