"export 'xxx' (imported as '_xxx') was not found in 'vue'解決方案
使用vue-cli建立完專案後,安裝一個npm包,再啟動專案,發現
1、谷歌瀏覽器控制檯報錯:cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js?!./src/components/HelloWorld.vue?vue&type=template&id=469af010&scoped=true:formatted:11 Uncaught TypeError: Object(...) is not a function
at Module../node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js?!./src/components/HelloWorld.vue?vue&type=template&id=469af010&scoped=true (app.js:formatted:1814)
2、命令列報錯:
"export 'createBlock' (imported as '_createBlock') was not found in 'vue' warning in ./src/components/HelloWorld.vue?vue&type=template&id=469af010&scoped=true "export 'createStaticVNode' (imported as '_createStaticVNode') was not found in 'vue' warning in ./src/App.vue?vue&type=template&id=7ba5bd90 "export 'createVNode' (imported as '_createVNode') was not found in 'vue' warning in ./src/App.vue?vue&type=template&id=7ba5bd90 "export 'openBlock' (imported as '_openBlock') was not found in 'vue' warning in ./src/components/HelloWorld.vue?vue&type=template&id=469af010&scoped=true "export 'popScopeId' (imported as '_popScopeId') was not found in 'vue' warning in ./src/components/HelloWorld.vue?vue&type=template&id=469af010&scoped=true "export 'pushScopeId' (imported as '_pushScopeId') was not found in 'vue' warning in ./src/App.vue?vue&type=template&id=7ba5bd90 "export 'resolveComponent' (imported as '_resolveComponent') was not found in 'vue' warning in ./src/components/HelloWorld.vue?vue&type=template&id=469af010&scoped=true "export 'toDisplayString' (imported as '_toDisplayString') was not found in 'vue' warning in ./src/components/HelloWorld.vue?vue&type=template&id=469af010&scoped=true "export 'withScopeId' (imported as '_withScopeId') was not found in 'vue'
初步排查是loader出問題了,可能npm包有問題,使用npm list >>npmlist
檢視發現執行完後控制檯有報錯提示,鎖定到loader:
npm ERR! invalid: [email protected] D:\1測試demo\vue-sp2\test-npm\node_modules\@vue\cli-service\node_modules\vue-loader
看來@vue\cli-service裡面的vue-loader無效了,進入 之前專案中生成的npmlist檔案,搜尋vue-loader
,
發現 vue-loader 16.2.0 invalid
翻譯過來就是vue-loader 16.2.0 invalid無效UNMET OPTIONAL DEPENDENCY vue-loader-v16
未滿足的可選依賴 vue-loader-v16
npm i vue-loader-v16
和 npm i [email protected]
問題解決。ps:之前我的專案根目錄 package.json vue-loader 版本為15.9.6如果還不行,就刪除整個node_modules及package-lock.json,採用cnpm i 的方式再安裝整個專案即可。
轉自:https://www.jianshu.com/p/3f2248aed489