Отладка с помощью веб-пакета, ES6 и Babel
Это кажется чем-то, чего должно было быть относительно просто достичь, но увы.
У меня есть класс ES6:
'use strict';
export class BaseModel {
constructor(options) {
console.log(options);
}
};
и корневой модуль, который его использует:
'use strict';
import {BaseModel} from './base/model.js';
export let init = function init() {
console.log('In Bundle');
new BaseModel({a: 30});
};
Моя цель:
передайте выше через Babel, чтобы получить код ES5упаковать модули с помощью веб-пакетабыть в состоянии отладить результатПосле некоторой пробной версии это конфиг веб-пакета, который у меня есть:
{
entry: {
app: PATH.resolve(__dirname, 'src/bundle.js'),
},
output: {
path: PATH.resolve(__dirname, 'public/js'),
filename: 'bundle.js'
},
devtool: 'inline-source-map',
module: {
loaders: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel'
}
]
}
}
Это, кажется, работает, в некоторой степени.
Итак, я могу сделать это:
Я могу нажать F11 и ввести код, но не могу оценитьBaseModel
:
который побеждает цель (или одну из целей) отладки.
я пробовал добавлениеsource-map-loader
в различном порядке сbabel-loader
:
{
test: /\.js$/,
loader: "source-map-loader"
}
но безрезультатно.
Примечание 1Если я оставлю веб-пакет и просто скомпилирую свои модули с исходными картами через Babel, скажем, в System.js:
babel src/ --out-dir public/js/ --debug --source-maps inline --modules system
все работает правильно.Примечание 2: этот?sourceMaps=true
кажется, ничего не делает, так как, если я удаляю конфигурацию исходной карты из веб-пакета - исходные карты не сохраняются / генерируются вообще. Можно было бы ожидать, что исходные, созданные Бабелем, исходные карты будут сохранены в результирующих файлах. Нету.
Любые предложения будут ценны