利用vue-cli腳手架搭建的項目臣淤,使用的是vuejs-templates/webpack的模板橄霉。
但在引用第三方組件的時候,在瀏覽器中報錯“exports is not defined”邑蒋。
根據(jù)瀏覽器報錯信息姓蜂,查詢到報錯來源是第三方組件的一段代碼:
Object.defineProperty(exports, "__esModule", {
value: true
});
這是使用了CommonJs寫法按厘,而在應(yīng)用中并沒有做相應(yīng)的模塊轉(zhuǎn)換使得瀏覽器能夠識別。而導(dǎo)致這個問題是因為balbel的配置文件.babelrc的問題:
{
"presets": [
["env", { "modules": false }],
"stage-2"
],
"plugins": ["transform-runtime"],
"comments": false,
"env": {
"test": {
"presets": ["env", "stage-2"],
"plugins": [ "istanbul" ]
}
}
}
其中{ "modules": false }阻止了babel進行模塊轉(zhuǎn)換钱慢,所以逮京,將modules改為默認(rèn)設(shè)置即可,或者刪除該配置束莫。
// module.exports = {
// // 避免eslint報錯
// lintOnSave: false
// };