2017-02-01 4 views
0

React-nativeは、モジュール名をIDで置き換えます。ReactネイティブプロジェクトからmoduleIDを見つける方法

Original 
var _react = require('react'); 
Final Version 
var _react = require(12); 

モジュールIDの把握方法は?

IDで名前をバインドするマップにアクセスしたいと考えています。 私は最終的なバンドルファイルにアクセスしてIDを把握したくありません。代わりに、私は、パッケージャが生成するマップを使用したいと思います。

+0

私は、IDがhttp:// localhost:8081/index.ios.map?platform = ios&dev = true&minify = falseで行われたマッピングに関係していると推測しています。 – Oximer

+0

この時点でどのような間違いがありましたか? – Eldelshell

+0

私は反応したネイティブの核心に取り組んでいます。単純なアプリケーションではありません。私は基本的に別のネイティブアプリケーションに反応するネイティブアプリケーションに組み込みます。このリンクhttp://stackoverflow.com/questions/41960415/remotely-update-a-single-file-from-a-project多分私が計画しているものをより良く説明する。 – Oximer

答えて

0

React Nativeには、バンドルとマッピングを担当するパッケージャ(React Native Packager)が含まれています。

デバッグモードでアプリケーションを実行する場合は、次の2つの選択肢があります:

開発モード: http://localhost:8081/index.ios.map?platform=ios&dev=true&minify=true

RELEASEのMODE: http://localhost:8081/index.ios.map?platform=ios&dev=false&minify=true

明白なことを私はあなたがポートを使用していることを仮定していますNPMサーバーの場合は8081です。

このリンクは.JSONファイルを提供します。 JSONファイルには、 "sections"という名前の属性が含まれています。各セッションには属性「マップ」があり、次に属性「ソース」があります。

JSON例

{"version":3,"file":"/index.ios.bundle?platform=ios&dev=true&minify=true","sections":[{"offset":{"line":0,"column":0},"map":{"version":3,"sources":["/Users/oximer/Documents/myproject/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/prelude_dev.js"],"names":["global","__DEV__","__BUNDLE_START_TIME__","Date","now"],"mappings":"CAAA,SAAAA,GAaAA,EAAOC,SAAU,EAEjBD,EAAOE,sBAAwBC,KAAKC"}}]} 

パッケージャは、このJSONファイルを通過し、それが地図(アレイ上のファイル名/位置)になります。基本的には、配列上の位置に必要な文字列を置き換えます。

上に得られた

は(prelude_dev)

によって置換さ

を必要とする(1)

を必要とします。