web-dev-qa-db-ja.com

React Native:モジュールfsを解決できません

Unable to resolve module fs from /...mypath

反応ネイティブアプリケーションにノードモジュールをインポートしようとすると、このエラーが発生しました。

モジュールは次のように「fs」を使用しました。

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

React NativeアプリケーションはNode.js環境では実行されません(実際にアプリケーションバンドルを提供およびコンパイルするためにパッケージャによってのみ使用されます)。

アプリはiPhoneまたはAndroidでJS VM内で実行されているため、ファイルシステムにアクセスする唯一の方法は react-native-fs または、ブリッジ接続を利用してプラットフォーム固有のネイティブAPIと通信する他のサードパーティモジュール。

12
Mike Grabowski

最終的に 'rn-nodeify'を使用してfsをReact Native。に組み込みます。この方法は、ほとんどのノードコアモジュールを使用できます。npmでインストールします。

npm install rn-nodeify

次にpackage.jsonファイルで、「scripts」に次の行を追加して、RNプロジェクトに含めるモジュールを指定します。たとえば、fscryptoおよびhttpsを使用すると、行が

"postinstall": "node_modules/.bin/rn-nodeify --install crypto,fs,https --hack"
13
C.Lee