Отладка инструкций импорта ES6 с помощью React Native в Chrome

Я сильно полагаюсь на функцию 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 и отключить исходные карты, но с учетом кода потока и уклонения. Я сомневаюсь, что это будет работать хорошо.)

Спасибо.

Ответ 1

Я включил возможности Chrome в Chrome, и у меня нет проблем с использованием импорта в стиле ES6. Если вы этого не сделали, введите chrome://flags в адресную строку и найдите Experimental JavaScript. Это должно решить вашу проблему.