Vue項目報錯:parseComponent問題及解決
Vue項目報錯:parseComponent
報錯內容
ERROR Failed to compile with 1 error 上午10:30:35
error in ./src/App.vueSyntax Error: TypeError: Cannot read property 'parseComponent' of undefined
@ ./src/main.js 6:0-28 91:13-16
@ multi (webpack)-dev-server/client?http://*.*.*.*:8881&sockPath=/sockjs-node (webpack)/hot/dev-server.js ./src/main.js
解決步驟
npm i [email protected] --save
(這裡的@2.6.11根據自己項目Vue版本一致的版本號)
然後
npm run serve
還是以上報錯的話,刪除 node_modules 後
(我的這次報錯處理沒有刪除,我直接運行yarn,然後項目直接運行瞭)
npm install //或 yarn
Vue常見錯誤及解決辦法
1.在配置路由並引入組件後
報錯:
Unknown custom element: <router-link> – did you register the component correctly? For recursive components, make sure to provide the "name" option.
錯誤原因:vue-router沒有註冊
解決辦法:
//註冊插件 *****************非常重要,不能忘記 Vue.use(VueRouter)
2.在組件中的標簽和樣式中圖片路徑出錯時
報錯:
Errors while compiling. Reload prevented.
Module not found: Error: Can't resolve './src/assets/img/btn_bg.png' in 'E:\myStudy\vue案例\chexian-spa\src\components'
解決辦法:將圖片的路徑重新書寫
3.在組件中標簽沒有閉合
報錯:
Errors while compiling. Reload prevented.
./node_modules/[email protected]@vue-loader/lib/template-compiler?{"id":"data-v-00822b28","hasScoped":false,"buble":{"transforms":{}}}!./node_modules/[email protected]@vue-loader/lib/selector.js?type=template&index=0&bustCache!./src/components/BaseProject.vue
(Emitted value instead of an instance of Error)
解決辦法:檢查html代碼
4.在使用less定義變量是報錯
錯誤原因:必須用分號結尾:@imgUrl:'../../assets/img/';
Compiled with problems:
編譯問題
C:\myel\src\views\HomeView.vue
錯誤出現文件
3:1 error Mixed spaces and tabs no-mixed-spaces-and-tabs
4:1 error Mixed spaces and tabs no-mixed-spaces-and-tabs
第3行的第一個字符
第4函的第一個字符
Mixed spaces and tabs
錯誤原因:混合的空格與tab
no-mixed-spaces-and-tabs
錯誤規則: no-mixed-spaces-and-tabs 不準混空格與tab
- 2 problems (2 errors, 0 warnings)
- 2個問題(2個錯誤,0個警告)
Compiled with problems:
編譯錯誤
ERROR in ./src/views/HomeView.vue?
錯誤出現的位置
Unexpected keyword 'const'. (6:0)
第6行第0個字符有個不應該出現的關鍵字 const
63 | const user = reactive({ userid: "", pwd: "", code: "" }), | ^ 64 | const rules = reactive({ | ^ 65 | userid: [
第63到64行兩個^之間有錯誤
ERROR in ./src/router/index.ts 10:19-57
錯誤發生在 ./src/router/index.ts 第10行第19個字符到57字符
Module not found: Error: Can't resolve '../views/admin/AdminVeiw.vue' in 'C:\myel\src\router'
,模塊找不的 不能resolve(兌現,發現,解決)../views/admin/AdminVeiw.vue
在C:\myel\src\router
總結:文件../views/admin/AdminVeiw.vue(文件名/路徑發生錯誤)
本地開發環境請求服務器接口跨域的問題
上面的這個報錯大傢都不會陌生,報錯是說沒有訪問權限(跨域問題)。本地開發項目請求服務器接口的時候,因為客戶端的同源策略,導致瞭跨域的問題。
下面先演示一個沒有配置允許本地跨域的的情況:
可以看到,此時我們點擊獲取數據,瀏覽器提示我們跨域瞭。所以我們訪問不到數據。
那麼接下來我們演示設置允許跨域後的數據獲取情況:
註意:配置好後一定要關閉原來的server,重新npm run dev啟動項目。不然無效。
我們在1出設置瞭允許本地跨域,在2處,要註意我們訪問接口時,寫的是/api,此處的/api指代的就是我們要請求的接口域名。
如果我們不想每次接口都帶上/api,可以更改axios的默認配置axios.defaults.baseURL = '/api';這樣,我們請求接口就可以直接this.$axios.get('app.php?m=App&c=Index&a=index'),很簡單有木有。
此時如果你在network中查看xhr請求,你會發現顯示的是localhost:8080/api的請求地址。這樣沒什麼大驚小怪的,代理而已:
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Vue常見報錯以及解決方案實例總結
- idea編譯器vue縮進報錯問題場景分析
- vue3 vite異步組件及路由懶加載實戰示例
- vue安裝less-loader依賴失敗問題及解決方案
- vue-cli npm如何解決vue項目中缺失core-js的問題