gpt4 book ai didi

reactjs - 未捕获的 ReferenceError : global is not defined at Object. ./node_modules/fbjs/lib/setImmediate.js

转载 作者:行者123 更新时间:2023-12-03 12:28:16 32 4
gpt4 key购买 nike

当我尝试在我的 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/

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