2016-08-19 8 views
8
Unable to resolve module fs from /...mypath 

Ten błąd wystąpił podczas próby zaimportowania modułu węzła do mojej macierzystej aplikacji reagującej.React Native: Nie można rozwiązać modułu fs

Moduł używany „fs” w ten sposób:

var fs = require('fs'); 
var list = JSON.parse(fs.readFileSync(__dirname + '/list.json', 'utf8')); 
+0

zrobiłeś 'NPM zainstalować fs --save'? – Cherniv

+2

fs jest jednym z podstawowych modułów węzła. Nie sądzę, że muszę go zainstalować. Dziękuję za szybką odpowiedź. –

Odpowiedz

7

React Native aplikacje nie działają w środowisku node.js (jest on wykorzystywany tylko przez pakującego rzeczywiście służyć i skompilować pakiet aplikacji) .

Ponieważ aplikacja działa w maszynie wirtualnej JS na telefonie iPhone lub systemie Android, jedynym sposobem uzyskania dostępu do systemu plików jest użycie react-native-fs lub dowolnego innego modułu strony trzeciej, który korzysta z połączenia pomostowego do rozmowy z natywnymi interfejsami API platformy.

+0

Dzięki, a co z modułem Tls? Nie mogę znaleźć alternatywy dla tego. Czy znasz jakieś? –

+0

Jak w każdym przypadku, pomyśl o systemie iOS/Android zamiast Node.js. Potrzebujesz modułu, który otacza natywne API, spróbuj go znaleźć - jeśli go nie masz, będziesz potrzebować wiedzy natywnej, aby go samemu zawinąć. –

6

Skończyło się na użyciu "rn-nodeify", aby dołączyć fs do Native React. Możesz użyć większości rdzeniowych modułów węzła tej metody. Zainstalować go z KMP:

npm install rn-nodeify 

Następnie w package.json pliku dodaj następującą linię w „skrypty”, aby określić, które moduły chcesz umieścić w swoim projekcie RN. Na przykład, kiedyś fs, kryptograficznych i https, a linia idzie

"postinstall": "node_modules/.bin/rn-nodeify --install crypto,fs,https --hack" 
+0

Dla mnie błąd pojawił się, gdy zainstalowałem i próbowałem użyć '" @ google-cloud/vision ":" 0.11.0 "'. Niestety, ten hack nie pomógł. – gumkins

+0

@gumkins, czy znalazłeś rozwiązanie problemu lub problem z zespołem Google Cloud? Też mam ten sam problem z api wizji na natywnym kliencie reagującym. – arcom