Не удалось разрешить дочерний процесс модуля в приложении Expo

#node.js #reactjs #expo #xbee #node-serialport

#node.js #реагирует на #Экспо #xbee #узел-сериальный порт

Вопрос:

Я пытаюсь создать приложение для телефона с помощью React и Nodejs, которое использует устройство xbee для связи. Для подключения к устройству xbee я использую модуль serialport, полученный от npm. Всякий раз, когда я пытаюсь запустить свое приложение на expo, я получаю следующую ошибку:

 Unable to resolve module child_process from C:UsersalessDesktop...node_modules@serialportbindingsliblinux-list.js: child_process could not be found within the project.  

Я попытался решить проблему с помощью rn-nodeify, но это, похоже, не решает проблему. У меня есть shim.js импортированный в мой App.js и я использую следующую команду postinstall в своем пакете.json:

 "postinstall": "rn-nodeify --install fs,util,path,tls,stream,buffer,global,process,assert,events,child_process --hack"  

И вот мой пакет.json в общей сложности:

 {  "main": "node_modules/expo/AppEntry.js",  "scripts": {  "start": "expo start",  "android": "expo start --android",  "ios": "expo start --ios",  "web": "expo start --web",  "eject": "expo eject",  "postinstall": "rn-nodeify --install fs,util,path,tls,stream,buffer,global,process,assert,events,child_process --hack"  },  "dependencies": {  "@expo/ngrok": "^2.4.3",  "@react-native-community/masked-view": "0.1.10",  "@react-navigation/native": "^5.7.6",  "@react-navigation/stack": "^5.9.3",  "assert": "^1.1.1",  "asyncstorage-down": "^4.2.0",  "buffer": "^4.9.1",  "events": "^1.0.0",  "expo": "^39.0.5",  "expo-font": "~8.3.0",  "expo-status-bar": "~1.0.2",  "mmap-io": "^1.1.7",  "path-browserify": "^0.0.0",  "process": "^0.11.10",  "react": "16.13.1",  "react-dom": "16.13.1",  "react-native": "https://github.com/expo/react-native/archive/sdk-39.0.3.tar.gz",  "react-native-3d-model-view": "^1.2.0",  "react-native-gesture-handler": "~1.7.0",  "react-native-indicators": "^0.17.0",  "react-native-level-fs": "^3.0.1",  "react-native-open-maps": "^0.3.5",  "react-native-reanimated": "~1.13.0",  "react-native-safe-area-context": "3.1.4",  "react-native-screens": "~2.10.1",  "react-native-vertical-view-pager": "^0.1.1",  "react-native-viewpager": "^0.2.13",  "react-native-web": "~0.13.12",  "readable-stream": "^1.0.33",  "serialport": "^9.2.4",  "stream-browserify": "^1.0.0",  "util": "^0.10.4",  "xbee-api": "^0.6.0"  },  "devDependencies": {  "@babel/core": "~7.9.0",  "rn-nodeify": "^10.2.0"  },  "private": true,  "react-native": {  "path": "path-browserify",  "fs": "react-native-level-fs",  "_stream_transform": "readable-stream/transform",  "_stream_readable": "readable-stream/readable",  "_stream_writable": "readable-stream/writable",  "_stream_duplex": "readable-stream/duplex",  "_stream_passthrough": "readable-stream/passthrough",  "stream": "stream-browserify",  "tls": false  },  "browser": {  "path": "path-browserify",  "fs": "react-native-level-fs",  "_stream_transform": "readable-stream/transform",  "_stream_readable": "readable-stream/readable",  "_stream_writable": "readable-stream/writable",  "_stream_duplex": "readable-stream/duplex",  "_stream_passthrough": "readable-stream/passthrough",  "stream": "stream-browserify",  "tls": false  },  "babel": {  "ignore": [  "node_modules/aws-sdk/dist/aws-sdk-react-native.js"  ]  } }  

Я попытался сделать npm install child_process это , но затем я получаю кучу ошибок, в которых говорится, что куча файлов не существует.

Моему приложению необходимо использовать библиотеку serialport, а библиотеке serialport, по-видимому, необходимо использовать модуль child_process. Кто-нибудь знает, как исправить эту проблему и запустить приложение на expo? Я думал, что это сработает с rn-nodeify, но, похоже, это не так? Любая помощь будет признательна!