Haste模块映射中不存在模块`fs`

时间:2019-03-29 08:48:29

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

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

错误消息是:

  

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

我正在跑步:

  • 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);
};

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

我很困惑,因此不胜感激。

2 个答案:

答案 0 :(得分:0)

缺少依赖项模块... fs ...

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

答案 1 :(得分:0)

我有“从'fs'导入{symlink};“在我的脚本之一中随机弹出。一旦我删除了该行,您就离开了同一个问题。我会在整个项目中搜索该行。