2015-11-30 3 views
0

Я использую React Native 0.13. В настоящее время у меня есть эмулятор Android, в котором я могу просмотреть приложение. Я работаю в OSX Yosemite. Во многих случаях ничего не происходит, когда я нажимаю на кнопку или ссылку, и это связано с некоторой ошибкой в ​​javascript, но я не получаю сообщение об ошибке нигде, поэтому очень сложно решить проблему. Для консоли протоколирования я использую:React Native - Как лучше отлаживать код javascript?

adb logcat *:S ReactNative:V ReactNativeJS:V 

который отображает console.log выходы, но это не дает мне точные ошибки, когда код брейки.

Может ли кто-нибудь предложить мне хороший способ отладки и как получить выход ошибки для работы?

ответ

1

Лучший способ отладки кода JS - с помощью Chrome devtools. Вы можете войти в режим, когда JS-код выполняется удаленно на вкладке Chrome, а затем использовать обычные инструменты chrome для выполнения сквозной отладки. Для этого вам нужно открыть интерактивное меню для разработчиков и выбрать «debug in chrome» (см. this link for more detailed instructions). Затем в chrome вы можете открыть консоль dev с помощью alt + ⌘ + j, перейдите на вкладку «Источники» и используйте ⌘ + p, чтобы перейти к определенному JS-файлу. Затем разместите там точки останова и т. Д.

Если вы хотите отлаживать код Java, самым простым способом является запуск приложения Android Studio. Затем вы можете запустить приложение с приложенным отладчиком (с ctr + d) или использовать кнопку «Прикрепить отладчик к Android-процессу» в меню запуска и выбрать свое приложение из меню. Затем вы можете разместить точки останова в Android Studio для кода Java.

+0

Благодарим вас за ответ. Я пробовал отладку в Chrome, это работает, но моя основная проблема все еще существует. Например, допустим, что я набираю код javascript следующим образом: items.length() вместо items.length. Сообщение об исключении, которое я получаю, это «Предупреждение: flattenChildren (...): Обнаружены два ребенка с одним и тем же ключом. $ Scene_1'. Ключи от детей должны быть уникальными: когда двое детей делят ключ, только первый ребенок будет используемый". Это полностью не связано с ошибкой и даже не говорит мне строку или в каком файле, что делает отладку ужасным опытом. – tomazahlin

+0

В случае описанной ошибки вы должны получить гораздо лучшее описание ошибки, даже если отладка не включена (в форме реагировать на собственный «красный ящик»). Вы могли бы предоставить простое приложение (модуль js), которое иллюстрирует проблему и сообщит об этом на github (https://github.com/facebook/react-native/issues). Благодаря! – kzzzf

Смежные вопросы