利用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