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

react-scripts 5无法正确打包子依赖@headlessui/react,求Webpack配置方案

React Scripts 4 升级到 5 时@headlessui/react的打包问题

我有一个可在react-scripts 4下正常工作的React组件库,该库依赖@headlessui/react——它存在于node_modules中,但并非由应用直接引入,仅作为组件库的依赖。

升级到react-scripts 5后出现打包异常。查看基于react-scripts 5的样板应用输出的打包文件,在本应引入@headlessui/react的压缩源码中看到了以下内容:

64237: function (e, t, r) {
  "use strict";
  e.exports = r.p + "static/media/index.439e41c35f66883d8abc.cjs"; 
},

我发现build文件夹中确实存在包含该文件的media文件夹,里面是headless ui的代码,但并未被打包进主bundle中。

尝试后发现,移除@headlessui/react的package.json中的以下配置,react-scripts 5就能成功完成打包:

// 需要移除的内容
"exports": {
  "types": "./dist/index.d.ts",
  "require": "./dist/index.cjs",
  "import": "./dist/headlessui.esm.js"
},

我想通过craco修改Webpack配置来解决这个问题,但不确定具体方法。请问是否有Webpack配置可以让Webpack忽略package.json中的exports部分?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:22:08