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

启动multisender项目报Module parse failed错误如何不升级包解决

问题根因

报错是因为你当前项目的babel配置默认不会转译node_modules目录下的代码,而你依赖的web3@1.0.0-beta.30版本中web3-eth-accounts包使用了ES6对象展开运算符(...tx),低版本babel默认不识别该语法,导致编译失败。

不升级依赖的解决步骤

你当前使用的是react-app-rewired@1.x版本,不需要升级任何现有依赖,只要修改项目根目录下的config-overrides.js文件即可:

  • 第一步:先安装两个适配当前babel版本的依赖,不要安装最新版:
npm install babel-plugin-transform-object-rest-spread@6.x babel-loader@7.x --save-dev
  • 第二步:修改项目根目录的config-overrides.js文件,添加babel转译web3相关包的配置:
const rewireMobX = require('react-app-rewire-mobx');
const rewirePreact = require('react-app-rewire-preact');

module.exports = function override(config, env) {
  // 新增配置:让babel处理node_modules里的web3相关包
  config.module.rules[1].oneOf.unshift({
    test: /\.js$/,
    include: [
      /node_modules\/web3-eth-accounts/,
      /node_modules\/web3-core-helpers/
    ],
    loader: require.resolve('babel-loader'),
    options: {
      plugins: [require.resolve('babel-plugin-transform-object-rest-spread')],
      cacheDirectory: true,
    },
  });

  // 保留原有mobx和preact配置
  config = rewireMobX(config, env);
  config = rewirePreact(config, env);
  return config;
}
  • 第三步:删除本地的node_modules目录和package-lock.json(或yarn.lock)文件,重新执行npm install安装依赖,之后执行npm start即可正常启动项目。
方案说明

该方案完全适配你当前的react-app-rewired@1.x、react-scripts@1.1.1版本,不会触发升级后出现的injectBabelPlugin废弃报错,也不需要改动原有项目依赖的版本号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:54:03