我在我的React应用程序中使用'countdown'模块,我像这样导入:
import countdown from 'countdown';
当我使用Vite在开发模式下运行应用程序时,一切正常。然而,当我尝试构建应用程序时,我得到以下错误:
RollupError: "default" is not exported by "node_modules/.pnpm/countdown@2.6.0/node_modules/countdown/countdown.js", imported by "src/App.tsx".
我尝试将import语句改为* as countdown
,但得到以下错误:
DEFAULTS" is not exported by "node_modules/.pnpm/countdown@2.6.0/node_modules/countdown/countdown.js", imported by "src/App.tsx".
Cannot call a namespace ("countdown").
这里是MRE
有谁知道是什么导致了这些错误,以及如何修复它们?我对React和Vite相当陌生,因此任何帮助都将不胜感激。
先谢谢你了!
2条答案
按热度按时间cvxl0en21#
应该使用命名导入
如果仍然出现错误“cannot call a namespace”,您可以尝试访问countdown模块的函数,如
wf82jlnq2#
虽然我不是特别喜欢这个解决方案,但它确实有效。本质上,我复制了库代码和类型声明(
countdown.js
和countdown.d.ts
),将countdown.js
转换为esm模块,并对countdown.d.ts
进行了小编辑以导出模块。通过这些更改,一切都按预期运行和构建。