У меня есть файл NSBundle с именем main.jsbundle, упакованный в пакет относительной установки, какой инструмент я могу использовать для изучения его содержимого? Я вижу, что он содержит минимизированный js-код внутри, а также какой-то индекс в начале файла. Мне нужно извлечь JS-код для устранения проблемы.

0
Ilia Sidorenko 4 Май 2020 в 10:01

2 ответа

NSBundle - это совершенно другое - это нативный класс, представляющий формат упаковки приложений и сред Apple, позволяющий получать к нему доступ и манипулировать им из собственного кода.

Вы спрашиваете о React Native bundle , который представляет собой довольно расплывчатую концепцию единого файла минимизированного кода JS + папки ресурсов для изображений и данных. Вы можете де-минимизировать js-комплект, используя обычные инструменты, такие как uglify-js и попытаться проверить это.

Вы также можете использовать исходные карты, созданные Metro, и возможно metro-symbolicate, чтобы понять, как минимизируется код от комплектных карт до реальных источников, хотя я не могу рекомендовать ничего более конкретного, не зная проблемы под рукой. Также нет документации для metro-symbolicate, что означает, что вам придется искать ее источники.

0
ivanmoskalev 4 Май 2020 в 07:41

Как отметил @ivanmoskalev, это может быть не просто так. В любом случае, передача файла через strings выводит почти только часть файла javascript, так что это работает для меня.

0
Ilia Sidorenko 4 Май 2020 в 07:43