我将VSCode / Typescript React 3.4.3用于React Native项目,并且在运行时遇到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。
因此,我选择支持使用npm模块(text-encoding和base-64):
import * as encoding from 'text-encoding';
import {encode as btoa} from 'base-64'
...
var encoder = new encoding.TextEncoder();
...
答案 0 :(得分:0)
Textencoder 需要安装一些包 https://github.com/anonyco/FastestSmallestTextEncoderDecoder