【问题标题】:Module `fs` does not exist in the Haste module mapHaste 模块地图中不存在模块“fs”
【发布时间】:2023-03-13 11:41:01
【问题描述】:

我是 Node.js 和 react-native 的新手。我完全按照send_telemetry.js 上的示例进行操作,但是当我运行我的 react-native 应用程序时出现错误:“开发服务器返回响应错误代码 500。

错误信息是:

捆绑失败:错误:无法从 ProjectPath\node_modules\azure-iot-device\lib\module_client.js 解析模块 fs:模块 fs 不存在于 Haste 模块映射中”;

我正在跑步:

  • Node.js v10.15.3
  • NPM 6.4.1
  • react-native@0.59.2

第一个错误与无法解析模块 events 相同, 我可以安装事件, 但是 fs 模块是:“这个包名当前没有被使用,但以前被另一个包占用。为了避免恶意使用,npm 挂在包名上,但松散,我们可能会给你如果你想要的话。”

var Protocol = require('azure-iot-device-http').Http;
var DeviceClient = require('azure-iot-device').Client;
var Message = require('azure-iot-device').Message;

var connectionString = 'my connection string';
var client = DeviceClient.fromConnectionString(connectionString, Protocol);

function ConnectionTest(err) {
    if (err) {
        console.log('Could not connect: ' + err);
    } else {
        console.log('Client connected');
    }
    client.close(function () {
        process.exit(0);
    });
};

export async function Test() {
    client.open(ConnectionTest);
};

基本上我需要知道如何让 azure IOT hub 客户端在我的 react-native 应用程序中工作(不使用 Expo)。

我很困惑,所以任何帮助都将不胜感激。

【问题讨论】:

  • 尝试在你的 node-modules 文件夹中打开这个文件module_client.js ...并查看这个fs的import||require语句

标签: node.js react-native azure-iot-hub


【解决方案1】:

缺少一个依赖模块...这是fs ...

这个文件系统 npm 模块与 react-native 不兼容...因为它有自己不同的环境。

【讨论】:

  • 我知道缺少该依赖项,也就是说 azure-iot-device 模块与 react-native 不兼容?
  • 很遗憾,是的,因为fs 模块旨在处理桌面和网络等节点环境的文件系统......但移动设备的文件系统完全不同......
  • 谢谢,然后回到绘图板
  • @Francois ...如果您可以分叉此 npm 模块以使用 react-native-fs 而不是此 fs 模块..我想它可以工作...无论如何祝您好运...
  • 我一定会的,我为我的目的分叉和更改了另一个 l 库
【解决方案2】:

我有“import { symlink } from 'fs';”在我的一个脚本中随机弹出。一旦我删除了这一行,你就消失了。我会在你的整个项目中搜索那条线。

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    相关资源
    最近更新 更多