Reactjs 未捕获引用错误:未在对象../node_modules/fbjs/lib/setImmediate.js上定义全局
我在我的Electron项目中尝试渲染ant design中的按钮时遇到了这个错误,它没有渲染任何内容。当我从按钮改为Hello World文本时,它就起作用了 我不确定错误是来自webpack还是ant设计本身 注:我自己手动创建这个项目,但错误可以在上复制,但在上没有错误 错误消息Reactjs 未捕获引用错误:未在对象../node_modules/fbjs/lib/setImmediate.js上定义全局,reactjs,typescript,webpack,electron,Reactjs,Typescript,Webpack,Electron,我在我的Electron项目中尝试渲染ant design中的按钮时遇到了这个错误,它没有渲染任何内容。当我从按钮改为Hello World文本时,它就起作用了 我不确定错误是来自webpack还是ant设计本身 注:我自己手动创建这个项目,但错误可以在上复制,但在上没有错误 错误消息 Uncaught ReferenceError: global is not defined at Object../node_modules/fbjs/lib/setImmediate.js (rend
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;
};
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;
};
webpack.react.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;
};
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;
};
这是有关的
通过在窗口中添加全局
对象来修复它:
(任意窗口)。全局=窗口;
也有同样的问题,我在执行任何脚本之前都做过:
global=globalThis;
为了给提供的答案添加一些上下文,请在index.html文件(标记内)中添加以下内容:
const global=globalThis;
是否有可行的解决方案?