You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron+React接入BluePrintJS报process is not defined问题求助

问题修复方案

错误根源说明

你之前修改的是Electron主进程的webpack配置,而你编写的app.jsx属于渲染进程代码,由独立的渲染进程webpack配置负责打包,所以之前的操作不生效。BlueprintJS的组件运行时会读取process全局变量,而Webpack 5+默认不注入Node.js全局变量polyfill,因此渲染进程运行时找不到process触发报错。


修复步骤

  • 第一步:安装process polyfill依赖
    执行命令:
    npm install process -D
  • 第二步:修改渲染进程webpack配置
    找到项目根目录下的webpack.renderer.config.js(如果不存在可手动创建),修改为以下配置:
const webpack = require('webpack');

module.exports = {
  module: {
    rules: require('./webpack.rules'),
  },
  resolve: {
    extensions: ['.js', '.ts', '.jsx', '.tsx', '.css', '.json'],
    alias: {
      process: "process/browser"
    },
  },
  plugins: [
    // 全局注入process变量
    new webpack.ProvidePlugin({
      process: 'process/browser',
    }),
    // 定义环境变量
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')
    })
  ]
};
  • 第三步:重启开发服务
    执行npm run start重启项目,错误即可消失。

可选临时方案

如果不想修改webpack配置,可以直接在渲染进程的入口HTML文件的<head>标签最顶部加入以下代码,手动挂载process全局变量:

<script>
  window.process = {
    env: {
      NODE_ENV: 'development'
    }
  }
</script>

内容的提问来源于stack exchange,提问作者Ken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 16:21:02