理由について何か考えている場合は?
Babel を使用して ES6 機能を有効にしている場合、おそらく Babel5 と Babel6 の間の変更の 1 つに直面しています。
Babel5 を使用すると、コードは次のようにトランスパイルされます。
'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'];
この行はBabel6で削除されました。ここで次のことが決まりました。
デフォルトを常にエクスポートするにはexports.default
それを回避するためのアイデアについて尋ねている場合は?
この行を自分で追加するか、それを追加する何らかの種類のバベル プラグインを使用できます。
const myLib = function () {
console.log('MyLib');
};
export default myLib;
module.exports = myLib;