参考错误:更新Axios@1.3.1后未定义TextEncoder

xv8emn3q  于 2023-02-04  发布在  iOS
关注(0)|答案(1)|浏览(246)

我一直在我的项目中使用Axios v1.2.2没有问题,我决定更新Axios到v1.3.1,之后我的应用程序继续像以前一样运行,但是,我所有的测试开始失败...所有的!!😑
我正在使用的一些软件包版本:

"axios": "^1.3.1",
"@jest/globals": "^29.4.1",
"@types/jest": "^29.4.0",
"@testing-library/dom": "^8.20.0",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^14.4.3",

这是我在所有测试中得到的错误:

Test suite failed to run

    ReferenceError: TextEncoder is not defined

    > 1 | import { AxiosError } from "axios";
        | ^
      2 |
      3 | class UnknownResponseFormat<T = unknown, D = unknown> extends AxiosError<T, D> {
      4 |   static readonly ERR_UNKNOWN_RESPONSE_FORMAT = "ERR_UNKNOWN_RESPONSE_FORMAT";

我也在网上找到了一些解决办法,一些像这样的事情...

if (typeof global.TextEncoder === "undefined") {
  const { TextEncoder, TextDecoder } = require("util");
  global.TextEncoder = TextEncoder;
  global.TextDecoder = TextDecoder;
}

......但也不管用。
快来人救救我!🙏

iyfjxgzm

iyfjxgzm1#

我遇到了同样的问题。我认为问题出现在版本1.3.0,我已经检查了版本1.2.6,它是确定的。
我在release notes中没有看到任何突破性的变化,所以我创建了support/question issue on github project
我希望我能找到解决办法,否则他们会回答我。
如果你需要快速的解决方案,只需在你的package.json文件中将axios版本改为1.2.6。如果你的依赖项在〉= 1.3.0中获取axios,请使用override选项,例如:

...
"overrides": {
    "your-dependecy-package": {
        "axios": "1.2.6"
    }
},
...

相关问题