美文网首页
在浏览器中报错“exports is not defined”

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

作者: 缺月楼 | 来源:发表于2020-03-07 17:18 被阅读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
// };

相关文章

网友评论

      本文标题:在浏览器中报错“exports is not defined”

      本文链接:https://www.haomeiwen.com/subject/oxthdhtx.html