Я сильно полагаюсь на функцию React Native "Отладка в Chrome" и, следовательно, на отладчик Chrome. Но я заметил огромный недостаток этой системы: модули, которые я импортирую с помощью импорта в стиле ES6, не отображаются в области Chrome даже несмотря на то, что код выполняется отлично. Это очень затрудняет отладку кода с помощью этих операторов импорта.
Если заменить оператор import
на var MyModule = require(...)
, тогда модуль будет видимым в области.
После чтения Импорт модуля ES6 не задан во время отладчика Я взглянул на переданный исходный код, созданный React Native (загрузив http://localhost:8081/index.ios.bundle?platform=ios&dev=true
в мой браузер) и заметил, что данный модуль загружается под другим именем:
var _MyModule = require('MyApp/MyModule.js');
var _MyModule2 = babelHelpers.interopRequireDefault(_MyModule);
и действительно, я могу использовать _MyModule2
в Chrome. У меня есть несколько связанных вопросов:
- Карты источников кажутся удивительной технологией! Почему они также не поддерживают имена переменных преобразования?
- Есть ли способ облегчить отладку с инструкциями
import
в Chrome с помощью React Native? Например, я привык просто перемещать указатель мыши на переменную в Chrome, чтобы увидеть значение, но это больше невозможно с этими импортами. (Отладка с помощью chrome с es6 предлагает включить#enable-javascript-harmony
в Chrome и отключить исходные карты, но с учетом кода потока и уклонения. Я сомневаюсь, что это будет работать хорошо.)
Спасибо.