Это - проблема с исходными картами JavaScript, которые в настоящее время не поддерживают отображающиеся имена символа , и столпотворение, которое меняет имена import
- модули редактора при компиляции в CommonJS от синтаксиса модуля ES2105.
Babel делает это, чтобы полностью поддерживать то, что модули ES2015 привязка экспорта путем разрешения всех ссылок на импорт каждый раз, когда они используются в коде, вместо во время импорта.
, Если Вы не пишете модули, которые зависят от экспорта привязки (как вероятно, так как Вы не могли на самом деле сделать этого с CommonJS), затем можно предпочесть сохранять имена переменной при трансукладке ES2015. Я создал альтернативу собственному столпотворению commonjs, модуль преобразовывают для Babel 6, который сохраняет имена переменной: babel-plugin-transform-es2015-modules-commonjs-simple. Это - общедоступная замена для babel-plugin-transform-es2015-modules-commonjs
, собственное столпотворение преобразовывают.
можно использовать это с webpack или узлом. Типичная конфигурация могла бы быть:
npm install --save-dev babel-preset-es2015-webpack
npm install --save-dev babel-plugin-transform-es2015-modules-commonjs-simple
модуль babel-preset-es2015-webpack
является ветвлением стандарта es2015 предварительная установка, которая делает не , включают модуль, преобразовывают, потому что Вы хотите использовать альтернативную версию. Это работает на узел также. Эти модули используются в .babelrc
:
{
"presets": [
"es2015-webpack"
],
"plugins": [
"transform-runtime",
["transform-es2015-modules-commonjs-simple", {
"noMangle": true
}]
]
}
transform-runtime
обычно хорошая идея включать в любой независимый проект избежать дополнительного повторения сгенерированного кода. Типичная конфигурация модуля в webpack.config.js
:
module: {
loaders: [
{
loader: "babel-loader",
include: [path.resolve(__dirname, "src")]
}
]
},
devtool: '#inline-source-map'
получающийся код не изменит имена импорта, таким образом отлаживание с исходными картами предоставит Вам доступ к символам.
Необходимо будет использовать скомпилированные имена переменной, не оригиналы. Источник отображается, только позволяют браузеру отображать исходный код, который соответствует скомпилированному коду; они не могут заставить браузер разрешить исходные имена переменной от скомпилированного кода.
, Чтобы видеть скомпилированные имена переменной, или переключиться на скомпилированный источник или посмотреть в области Scope Variables справа, которая покажет Вам (как он, говорит относительно олова), какие переменные существуют в текущей области.
Столпотворение IIRC имеет тенденцию снабжать префиксом имена модуля _
, таким образом, Ваш BaseModel
переменную, вероятно, называют _baseModel
или подобной.
Я имел некоторый хороший успех путем добавления отладчика оператора
;
в Ваших файлах JavaScript/машинописного текста даже в файлах платформы угловых или vue2 как *.vue
Поэтому, даже если файл преобразовывается или изменился или переименовал, или Ваши отображения пути к URL не работают, отладчик ступит так или иначе.