關於vuejs-templates/webpack 中 「exports is not defined」報錯的處理

利用vue-cli腳手架搭建的項目,使用的是vuejs-templates/webpack的模板。
但在引用第三方組件的時候,在瀏覽器中報錯「exports is not defined」。
根據瀏覽器報錯信息,查詢到報錯來源是第三方組件的一段代碼:vue

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

這是使用了CommonJs寫法,而在應用中並無作相應的模塊轉換使得瀏覽器可以識別。而致使這個問題是由於balbel的配置文件.babelrc的問題:webpack

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

其中{ "modules": false }阻止了babel進行模塊轉換,具體見modules配置的說明,因此,將modules改成默認設置便可,或者刪除該配置。web

初學Vue中,記錄學習中碰見的問題以做備查,若是有不對的地方,還望指正。vue-cli

相關文章
相關標籤/搜索