React-native使用ID替换模块名称。
Original
var _react = require('react');
Final Version
var _react = require(12);
如何找出模块ID?
我希望能够访问使用ID绑定名称的地图。 我不想访问最终的捆绑文件并找出ID。相反,我想使用打包器生成的地图。
答案 0 :(得分:0)
React Native包含一个负责捆绑和映射的打包程序(React Native Packager)。
在调试模式下运行应用程序时,您有两种选择:
发展模式: http://localhost:8081/index.ios.map?platform=ios&dev=true&minify=true
发布模式: http://localhost:8081/index.ios.map?platform=ios&dev=false&minify=true
很明显,我假设您正在使用端口8081作为您的NPM服务器。
此链接为您提供.JSON文件。 JSON文件包含名为" sections"的属性。每个会话都有一个属性" map"然后是属性"来源"。
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文件并生成映射(文件名,数组上的/ position)。它基本上替换了数组上位置所需的字符串。
导致
需要(prelude_dev)
被
取代需要(1)