Во время игры с Babel и Webpack я сегодня наткнулся на какое-то действительно странное поведение.
Я выбросил отладчик в свой main.js
, чтобы убедиться, что я правильно импортировал, но консоль Chrome продолжала кричать, что модуль, который я пытался импортировать, не был определен. Я попробую консоль регистрировать тот же модуль, и я вижу, что он печатается на моей консоли.
Что дает? Я добавил следующие фрагменты кода ниже:
main.js
import Thing from './Thing.js';
debugger // if you type Thing into the console, it is not defined
console.log(new Thing()); // if you let the script finish running, this works
thing.js
class Thing {
}
export default Thing;
webpack.config.js
var path = require('path');
module.exports = {
entry: './js/main.js',
output: {
path: __dirname,
filename: 'bundle.js'
},
module: {
loaders: [
{ test: path.join(__dirname, 'js'), loader: 'babel-loader' }
]
}
};