【发布时间】:2020-05-04 07:01:58
【问题描述】:
我有一个名为 main.jsbundle 的 NSBundle 文件,由 react-native 包打包,我可以使用哪个工具来探索它的内容?我可以看到它里面有缩小的 js 代码,还有文件开头的某种索引。我需要提取 js 代码来调试问题。
【问题讨论】:
标签: ios react-native nsbundle
我有一个名为 main.jsbundle 的 NSBundle 文件,由 react-native 包打包,我可以使用哪个工具来探索它的内容?我可以看到它里面有缩小的 js 代码,还有文件开头的某种索引。我需要提取 js 代码来调试问题。
【问题讨论】:
标签: ios react-native nsbundle
NSBundle 是一个完全不同的东西——它是一个原生类,代表了一种封装应用程序和框架的 Apple 格式,允许从原生代码访问和操作它。
您问的是 React Native 包,这是一个相当松散的概念,即单个缩小的 JS 代码文件 + 用于图像和数据的资产文件夹。实际上,您可以使用 uglify-js 等常规工具对 js-bundle 进行分解并尝试对其进行检查。
您也可以使用sourcemaps produced by Metro 和metro-symbolicate 来了解压缩包中的代码如何映射到实际源代码,尽管在不知道手头的问题的情况下我不能推荐任何更具体的东西。 metro-symbolicate 也没有文档,这意味着您必须了解它的来源。
【讨论】:
strings 管道传输文件可以为我剥离二进制数据
正如@ivanmoskalev 指出的那样,这可能不一定是 NSBundle。无论如何,通过strings 输出文件几乎只是文件的javascript部分,所以这对我有用。
【讨论】: