如果你问任何关于为什么的想法?
如果您使用 Babel 启用 ES6 功能,那么您可能面临 Babel5 和 Babel6 之间的变化之一。
使用 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
如果您询问任何解决方法的想法?
你可以自己添加这一行,或者使用某种为你添加它的 babel 插件。
const myLib = function () {
console.log('MyLib');
};
export default myLib;
module.exports = myLib;