美文网首页
在浏览器中报错“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