我正在使用VSCode/Typescript React 3.4.3作为,而且我在运行时遇到了TextEncoder方面的问题
ts代码:
...
var encoder = new TextEncoder();
var b: Uint8Array = encoder.encode(newName);
...我的tsconfig库:
"module": "es2015",
"target": "es2015",
"jsx": "react",
"lib": ["es5", "es2017", "dom"]这个编译失败了,但是当它试图创建TextEncoder实例时,它在运行时失败了:
"ReferenceError:找不到变量: TextEncoder“
我不明白这是怎么回事。
感谢你的任何帮助
编辑1:事实是,当您调试JS代码时,它在Chrome中运行,这将导致成功。但是,当您不支持时,您就会发现JavaScriptCore既不支持TextEncorder也不支持btoa。
import * as encoding from 'text-encoding';
import {encode as btoa} from 'base-64'
...
var encoder = new encoding.TextEncoder();
...发布于 2022-02-25 07:42:21
我在使用stomp.js套接字时也遇到了同样的错误。
我所做的就是
从“文本编码”导入*作为编码;
在App.js中,并且在发行版和调试中都很好。
发布于 2021-02-01 07:48:09
发布于 2022-11-22 10:59:34
对于在2022年仍有此问题的人,或打字本项目的人,请执行以下步骤:
yarn add text-encodingyarn add big-integerconst TextEncodingPolyfill = require('text-encoding');
const BigInt = require('big-integer')
Object.assign(global, {
TextEncoder: TextEncodingPolyfill.TextEncoder,
TextDecoder: TextEncodingPolyfill.TextDecoder,
BigInt: BigInt,
});https://stackoverflow.com/questions/55868484
复制相似问题