在Babel 7中导入具有默认导出功能的ES6模块时,有什么方法可以避免使用require(“ module”)。default

时间:2019-04-16 10:10:47

标签: javascript webpack babeljs commonjs

我有一个配置文件,可将JSON对象默认导出为

//module.js

export default {
  "test": "abc"
}

我正在另一个文件中以const json = require("./module")的形式使用它。我在json中得到的对象是

{
   "default": {
     "test": "abc"
   }
}

我以前使用Babel 6,并且在使用require时使用babel-plugin-add-module-exports解开default属性。现在,移至Babel 7后,此操作将无效。我在Babel 7 migration guide中读到,对add-module-exports插件的支持已停止。

然后我为此找到了@babel/plugin-transform-modules-commonjs。但这也没有结果。这是我的.babelrc配置

{
  "presets": [
    "@babel/preset-env"
  ],
  "plugins": [
    [
      "@babel/plugin-transform-react-jsx",
      {
        "pragma": "h"
      }
    ],
    "@babel/plugin-transform-modules-commonjs",
    "@babel/plugin-syntax-dynamic-import",
    "@babel/plugin-proposal-object-rest-spread",
    "@babel/plugin-proposal-function-bind",
    "@babel/plugin-proposal-class-properties"
  ]
}

从版本7开始,在Babel中不再可能吗?我是否总是需要使用require("module").default

0 个答案:

没有答案