在浏览器中报错“exports is not defined”

2020-03-07  本文已影响0人  缺月楼

利用vue-cli脚手架搭建的项目,使用的是vuejs-templates/webpack的模板。
但在引用第三方组件的时候,在浏览器中报错“exports is not defined”。
根据浏览器报错信息,查询到报错来源是第三方组件的一段代码:

Object.defineProperty(exports, "__esModule", {
  value: true
});

这是使用了CommonJs写法,而在应用中并没有做相应的模块转换使得浏览器能够识别。而导致这个问题是因为balbel的配置文件.babelrc的问题:

{
  "presets": [
    ["env", { "modules": false }],
    "stage-2"
  ],
  "plugins": ["transform-runtime"],
  "comments": false,
  "env": {
    "test": {
      "presets": ["env", "stage-2"],
      "plugins": [ "istanbul" ]
    }
  }
}

其中{ "modules": false }阻止了babel进行模块转换,所以,将modules改为默认设置即可,或者删除该配置。

// module.exports = {
//   // 避免eslint报错
//   lintOnSave: false
// };
上一篇 下一篇

猜你喜欢

热点阅读