Как отлаживать транспилированный код babelJS с помощью инспектора узлов?

Я пытаюсь использовать инспектор узлов для отладки приложения nodeJS, работающего с babel-node.

babel-node index.js --debug

Инспектор узлов работает, но показывает исходные карты в транспилированном es5 вместо es6.

введите описание изображения здесь


person cuadraman    schedule 21.09.2015    source источник


Ответы (3)


Для Babel 6 я использовал хук require.

Следуйте этим инструкциям, чтобы получить регистрацию Babel. https://babeljs.io/docs/setup/#babel_register

В вашем app.js или точке входа в приложение добавьте

require('babel-register')({
  sourceMaps: true
});

Если вам нужно добавить и другие параметры, см. - https://babeljs.io/docs/usage/options/#options

Вы должны иметь возможность использовать node-spector и chrome для отладки вашего приложения.

person Sushant Rao    schedule 04.03.2016

Ему нужна оболочка, которая создаст исходную карту в исходный код, а не в транспилированный код.

Из https://babeljs.io/docs/setup/#babel_node_debug

npm install -g babel-node-debug
babel-node-debug index.js

Обновить

Вместо того, чтобы запускать его с помощью babel-node, я транспилирую его в исходные карты es5 +, а затем запускаю с помощью node. Сделав это, инспектор узлов покажет правильный код в исходных инструментах разработки.

Я не понял, как это сделать с babel-node

person cuadraman    schedule 21.09.2015
comment
Недавно я отлаживал с помощью инспектора узлов скомпилированное приложение узла с включенным флагом исходных карт. Подробнее здесь stackoverflow.com/questions/30773756/ - person cuadraman; 23.12.2015
comment
Существует неслитный запрос на включение, который устраняет проблему: github.com/CrabDude/babel- узел-отладка/pull/12 - person Sigfried; 03.02.2016

Согласно Дао Javascript, «код течет в данный момент, поэтому знание — это всего лишь подсказка, подобная карте потока».

В последней версии v8 теперь используется такая команда, как:

$ babel-node --inspect --debug-brk a.js

Для исходных карт попробуйте добавить это к a.js:

import 'source-map-support/register';
person Charles Merriam    schedule 08.04.2017