ReferenceError:找不到变量:TextEncoder

时间:2019-04-26 13:16:46

标签: typescript react-native

我将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-encodingbase-64):

import * as encoding from 'text-encoding';
import {encode as btoa} from 'base-64'
...
var encoder = new encoding.TextEncoder();
...

1 个答案:

答案 0 :(得分:0)