Buffer is not defined (react-native)

问题描述 投票:0回答:1

我不能在 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",

此外,我正在尝试其他库并得到相同的结果。 预先感谢您的帮助🙂

javascript react-native npm expo buffer
1个回答
0
投票

要在

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
来使用裸工作流。

© www.soinside.com 2019 - 2024. All rights reserved.