_Module not found: Error: Cannot resolve module 'child_process' in /project/node_modules/serialport/lib/bindings
当我构建反应应用程序时,我遇到了上述错误。我的应用程序是使用 create-react-app 和 electrojs 创建的。我用谷歌搜索了这个问题,最建议的解决方案与 webpack 配置有关,我无法在 create-react-app 中直接修改它。我尝试了这些解决方案,例如通过弹出创建反应应用程序添加“目标:节点”和外部配置等,但这也不起作用。在添加串行端口包之前,它工作正常,现在它会在串行端口库中查找 child_process 包。所以基本上在 Serialport libs -> linux-list.js 中,他们在一开始就写了
const childProcess = require('child_process');
,但在那里它无法获取 child_process 模块。我不知道如何解决这个问题,有人可以帮我吗?
在 package.json 文件所在的根目录中,您应该能够创建 config-overrides.js 文件。您应该能够在此处指定后备选项。
这是我现在在 config-overrides.js 文件中的内容,但由于某种原因,我的项目没有注册设置为 false 的后备。
module.exports = {
mode: 'development',
target: 'electron-renderer',
externals: createExternals(), // custom function
entry: '../../common/src/index.js',
plugins: [
new webpack.ProvidePlugin({
global: 'globalThis',
}),
],
resolve: {
fallback: {
child_process: false
}
}
}