我不能在 react-native 应用程序(使用 expo 工具构建)中使用缓冲区。
例如,我有一个十六进制的地理点值 ->
0101000020E61000003868AF3E1E0A494046B3B27DC8F73640
我正在尝试使用以下代码将其解码为经度和纬度 ->
import WktParser from 'terraformer-wkt-parser';
import wkx from 'wkx';
import wellknown from 'wellknown';
import { Buffer } from 'buffer';
const wkb = new Buffer.from(point, 'hex');
const wkt = wkx.Geometry.parse(wkb).toWkt();
const parsedPoint = WktParser.parse(wellknown.stringify(wkt));
const longitude = parseFloat(parsedPoint.coordinates[0]);
const latitude = parseFloat(parsedPoint.coordinates[1]);
return [latitude, longitude];
但是像这样的缓冲区出现错误->
ReferenceError: Can't find variable: Buffer
在 package.json 我有 ->
"terraformer-wkt-parser": "^1.2.1",
"util": "^0.12.5",
"wellknown": "^0.5.0",
"wkx": "^0.5.0"
"buffer": "^6.0.3",
"expo": "~47.0.12",
此外,我正在尝试其他库并得到相同的结果。 预先感谢您的帮助🙂
要在
Expo
中使用缓冲模块,您必须使用expo install buffer
命令安装它。
但是,由于
Expo
默认不支持缓冲模块,执行expo install buffer
命令可能会出现“Package 'buffer' is not found in the current configured register”等错误。
在这种情况下,您可以通过安装
Buffer
包来使用 react-native-crypto
API。
但是,由于
react-native-crypto
不支持Expo
,您可能需要通过弹出Expo
来使用裸工作流。