Если вы задаетесь вопросом о том, почему?
Если вы используете Babel для включения функций ES6, то вы, вероятно, сталкиваетесь с одним из изменений между Babel5 и Babel6.
С Babel5 ваш код transpiled это:
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports['default'] = function() {
console.log('MyLib');
};
module.exports = exports['default'];
Но с Babel6 вы получите:
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function() {
console.log('MyLib');
};
ли вы заметить разницу?
module.exports = exports['default'];
Эта строка была killed в Babel6. Здесь было принято решение:
Чтобы всегда экспортировать по умолчанию в exports.default
Если вы спрашиваете о какой-либо идеи, чтобы обойти это?
Вы можете добавить эту линию самостоятельно или использовать своего рода babel plugin that adds it for you.
const myLib = function() {
console.log('MyLib');
};
export default myLib;
module.exports = myLib;
Да, любая идея обходного пути. Спасибо :) – gtournie
Просьба проголосовать за запрос функции здесь: https://github.com/webpack/webpack/issues/3929;) – Luckylooke