据我了解,以下两行是等效的:
const Up = require('write-up').default
和...
import Up from 'write-up'
这两个示例都应使write-up
模块的默认导出为Up
.
不幸的是,使用 Babel 和 Webpack,这不是我看到的行为。
第一个例子工作得很好。它产生这一行:
var Up = __webpack_require__(5).default;
Up
设置为write-up
模块的默认导出,这是我期望的行为。
第二个例子不起作用。它产生这个:
var _writeUp = __webpack_require__(5);
var _writeUp2 = _interopRequireDefault(_writeUp);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
不是设置Up
为默认导出,Up
而是设置为包含模块的每个导出write-up
(包括default
字段)的对象。
我究竟做错了什么?
这是我的 Webpack 配置中的相关部分:
{
test: /.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015']
}
}