【发布时间】:2021-02-28 16:19:27
【问题描述】:
我是 next-translate 库的作者,我正在开发一个实验版本,我在 React 16.14.0 中遇到 错误,我不明白为什么会这样. 将 React 升级到版本 17 就可以正常工作了,但我不想强迫所有使用我的库的新版本的人迁移他们的 React 版本。
我创建了一个可重现的错误示例: https://github.com/aralroca/next-translate-error-reproduction
为了重现这个问题:
- 克隆此存储库
- 运行
yarn && yarn dev - 打开
localhost:3000 - 打开开发工具
Error was not caught ReferenceError: exports is not defined
我的库的预发布代码在这里:
tsconfig.json
{
"compilerOptions": {
"strict": false,
"module": "es6",
"target": "es5",
"jsx": "react",
"removeComments": true,
"moduleResolution": "node",
"esModuleInterop": true,
"declaration": true,
"lib": ["esnext", "dom"],
"allowJs": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./lib/esm"
},
"include": ["./src"]
}
tsconfig-cjs.json
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "CommonJS",
"outDir": "./lib/cjs",
"declaration": false
}
}
这是封装代码:
如果有人知道这个错误来自哪里并且可以帮助我,我将非常感激!几天来我一直在尝试解决它,但我有点迷茫,因为我不知道为什么会这样......谢谢!
注意:看起来它只发生在开发中,yarn build && yarn start 工作正常。
【问题讨论】:
-
你的 Nodejs 版本是多少?我尝试重现您的步骤,但它不会在 devtool 中引发任何错误。我的节点版本是 12.19
-
我有 Node v14.13.1
-
是的,我认为操作系统不会发生这种情况。因此,您可以在此处访问此问题,并尝试使用最佳答案来解决它。 stackoverflow.com/questions/43042889/…
-
顺便说一下,我使用的是 Typescript 最新版本。因此,您可以在这里查看另一个答案:stackoverflow.com/questions/42497479/…。希望以上对你有帮助
-
我可以在 Ubuntu 16 操作系统中重现该问题。
标签: javascript reactjs typescript webpack next.js