require模块的时候后面为什么要加一个default

如果使用webpack打包编译的,babel@5及之前的版本可以把exportimport转成nodemodule.exportsrequire ,但是babel@6版本开始不再把export default转成nodemodule.exports, 参考 https://github.com/babel/babel/issues/2212

babel 5

1
require('one-module')

babel 6

1
require('one-module').default

如果还想使用babel 5的方式,那么请使用babel-plugin-add-module-exports插件,它会自动帮你做这件事情。

安装插件,然后在项目根目录下创建 .babelrc 文件,写入如下配置

1
2
3
4
{
"presets": [["@babel/env", { "modules": "commonjs" }]],
"plugins": ["add-module-exports"]
}