1. 程式人生 > >更新了vue-cli到最新版本後引發的問題: require和import、vue-loader的問題

更新了vue-cli到最新版本後引發的問題: require和import、vue-loader的問題

什麽 import 都是 作者 降級 info 第三方 默認 ges

結局:[email protected] 降級到 [email protected] 即可解決

先來說一下export default 與 require 和 import 的關系
通過export default導出的,如果你使用import xxx from ‘xxx‘ 就可以直接使用,但如果你使用require(‘xxx‘),卻需要xxx.default 來使用. 具體看一下這篇文章:http://www.cnblogs.com/CyLee/p/5836069.html 我們的*.vue 資源,都是用export default {} 來導出的。所以如果你使用require,必須搭配.default(),那為什麽這裏不需要.default() 就可以直接使用了呢?
技術分享圖片
技術分享圖片https://github.com/ElemeFE/mint-ui/blob/master/packages/indicator/index.js
技術分享圖片

我也一直正常使用,所以從來沒有在意過。但今天忽然更新了vue-cli。發現有問題了。才意識到這個問題,技術分享圖片懷疑是vue或者webpack的貓膩。 經過一系列搜索之後,發現是vue-loader的問題。[email protected] 降級到 [email protected] 即可解決。 思考過程應該是這樣的:無論是require還是import,都是通過webpack來實現的。而webpack默認只攔截js文件,如果是其他類型的資源,就需要 xxxx-loader來處理,那麽我們引入的是.vue文件,理所當然是vue-loader來處理的。 所以問題應該就出在vue-loader 身上。 說白了。前的require是當成import使用,而最新的vue-loader嚴格區分require 和 import。 但事實上,我一直都是嚴格區分。只是第三方的插件作者沒有意識到這個問題。

更新了vue-cli到最新版本後引發的問題: require和import、vue-loader的問題