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

添加react-markdown后CRA项目Webpack编译失败,如何解决?

解决CRA项目添加react-markdown后编译失败的问题

问题描述

请求'process/browser'解析失败,仅因为它被解析为完全指定形式(可能源于严格ECMAScript模块,例如带有javascript MIME类型的模块、.mjs文件或package.json中包含"type": "module"的.js文件)。请求中的扩展名是完全指定所必需的,请为请求添加扩展名。

当前config-overrides.js配置:

const webpack = require('webpack');

module.exports = function override(config) {
  const fallback = config.resolve.fallback || {};
  config.resolve.fallback = fallback;
  config.plugins = (config.plugins || []).concat([
    new webpack.ProvidePlugin({
      process: 'process/browser',
      Buffer: ['buffer', 'Buffer'],
    }),
  ]);
  return config;
};

解决办法

这是ES模块严格解析规则导致的——现在必须给导入路径加上文件扩展名。直接修改config-overrides.js里的配置即可:

基础修改方案

const webpack = require('webpack');

module.exports = function override(config) {
  const fallback = config.resolve.fallback || {};
  config.resolve.fallback = fallback;
  config.plugins = (config.plugins || []).concat([
    new webpack.ProvidePlugin({
      process: 'process/browser.js', // 为process路径添加.js扩展名
      Buffer: ['buffer', 'Buffer'],
    }),
  ]);
  // 补充扩展名解析规则,确保模块能被正确识别
  config.resolve.extensions.push('.js', '.jsx', '.json');
  return config;
};

进阶兜底方案(如果基础方案无效)

给resolve.fallback也指定带扩展名的路径,进一步确保解析正常:

const webpack = require('webpack');

module.exports = function override(config) {
  const fallback = config.resolve.fallback || {};
  // 给fallback中的process指定完整带扩展名的路径
  fallback.process = require.resolve('process/browser.js');
  fallback.buffer = require.resolve('buffer/');
  config.resolve.fallback = fallback;
  
  config.plugins = (config.plugins || []).concat([
    new webpack.ProvidePlugin({
      process: 'process/browser.js',
      Buffer: ['buffer', 'Buffer'],
    }),
  ]);
  config.resolve.extensions.push('.js', '.jsx', '.json');
  return config;
};

最后确保已经安装依赖:

npm install process buffer --save-dev

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:15:36