Vue3解決Mockjs引入后并訪問404(Not Found) 的頁面報(bào)錯(cuò)問題
1、問題描述:
其一、報(bào)錯(cuò)為:
GET http://localhost:5173/list 404 (Not Found) ncaught (in promise) AxiosError {message: 'Request failed with status code 404', name: 'AxiosError', code: 'ERR_BAD_REQUEST', config: {…}, request: XMLHttpRequest, …}
中文為:
獲取http://localhost:5173/list 404(未找到) 未捕獲(承諾中)AxiosError {message:'請求失敗,狀態(tài)代碼404',名稱:'AxiosError',代碼:'ERR_BAD_REQUEST',配置:{...},請求:XMLHttpRequest,...}
其二、問題描述為:
前端開發(fā)往往依賴于后端數(shù)據(jù)接口,在后端接口就緒能夠返回?cái)?shù)據(jù)之前,前端通常很難開工; Mock
功能常用于解決數(shù)據(jù)模擬問題,有了 Mock 工具模擬數(shù)據(jù)后,前后端可以同步進(jìn)入開發(fā),提升團(tuán)隊(duì)研發(fā)效率;因此在 vue3
項(xiàng)目中,引入了 Mockjs
,但在頁面 報(bào)錯(cuò)為:GET http://localhost:5173/list 404 (Not Found)(即:在頁面并沒有找到自己引入 Mockjs 時(shí),設(shè)置的地址和假數(shù)據(jù))
其三、報(bào)錯(cuò)面顯示為:
2、問題分析:
其一、根本問題:
根據(jù)上述的問題剖析和描述,發(fā)現(xiàn):在引入 Mockjs 后,設(shè)置的數(shù)據(jù)和地址有問題;
其二、可能存在的問題:
A、是否成功引入了 Mockjs 等依賴(如:axios, vite-plugin-mock 等);
B、是否在 vite.config.js 頁面里配置相關(guān)的信息;
C、是否在 mock 下的 index.js 內(nèi)成功引入并使用語法;
3、問題解決:
其一、查看是否安裝依賴( mockjs
和 vite-plugin-mock
以及 axios
):
其二、在 vite.config.js
文件中配置 vite-plugin-mock
信息:
A、應(yīng)加的 vite-plugin-mock
的代碼為:
import { viteMockServe } from 'vite-plugin-mock' plugins: [vue(), viteMockServe({ supportTs:false, logger: false, mockPath: "./mock/" // 注意:此時(shí)的 mockPath 地址是真正安裝的 mock 文件夾的地址; }) ]
// 在配的 viteMockServe({}) 中屬性說明: supportTs?: boolean; --是否讀取ts文件模塊,設(shè)置為true時(shí)不能讀取js文件 logger?:boolean; --是否在控制臺顯示請求日志 mockPath?: string; --設(shè)置模擬數(shù)據(jù)的存儲文件夾,如果不是index.js需要寫明完整路徑
B、vite.config.js
文件中的代碼為:
其三、在頁面中成功引入并調(diào)用 Mock :
// 在頁面中成功引入并調(diào)用 mock 的代碼為: <script setup> import { ref } from 'vue' import axios from 'axios' const list = ref([]) // 發(fā)請求肯定要用到 axios, 因此需要引入 axios; const getList = async ()=> { const r = await axios.get('/list') // 因?yàn)樵?mock 的 index.js 里面,發(fā)現(xiàn)了一個(gè)不需要什么參數(shù),get 方法,地址是 /list 的輸出; // 因?yàn)檫@個(gè)項(xiàng)目是:在服務(wù)器的環(huán)境下,因此可以不加域名; // 因?yàn)槭钱惒降?,因此需要?async 和 await; console.log(r); } // vue3 在組合式 api 的環(huán)境下,沒有 created() 這個(gè)函數(shù),因此可以直接在 setup 里面調(diào)用函數(shù); getList() </script>
4、小結(jié):
以上就是Vue3解決Mockjs引入后并訪問404(Not Found) 的頁面報(bào)錯(cuò)問題的詳細(xì)內(nèi)容,更多關(guān)于Vue3 Mockjs訪問404的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue中路由跳轉(zhuǎn)的多種方式(和$router下路由跳轉(zhuǎn)的那幾個(gè)方法的區(qū)別)
Vue.js是一款流行的前端JavaScript框架,它提供了多種方式來實(shí)現(xiàn)路由跳轉(zhuǎn),本文給大家分享vue中路由跳轉(zhuǎn)的幾種方式(和$router下路由跳轉(zhuǎn)的那幾個(gè)方法的區(qū)別),感興趣的朋友一起看看吧2023-11-11vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令
本文主要介紹了vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05VUE 實(shí)現(xiàn)動(dòng)態(tài)給對象增加屬性,并觸發(fā)視圖更新操作示例
這篇文章主要介紹了VUE 實(shí)現(xiàn)動(dòng)態(tài)給對象增加屬性,并觸發(fā)視圖更新操作,涉及vue.js對象屬性動(dòng)態(tài)操作及視圖更新相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-11-11vue裁切預(yù)覽組件功能的實(shí)現(xiàn)步驟
這篇文章主要介紹了vue裁切預(yù)覽組件功能的實(shí)現(xiàn)代碼,本文通過實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05如何用electron把vue項(xiàng)目打包為桌面應(yīng)用exe文件
這篇文章主要介紹了如何用electron把vue項(xiàng)目打包為桌面應(yīng)用exe文件,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05vue子組件實(shí)時(shí)獲取父組件的數(shù)據(jù)實(shí)現(xiàn)
本文主要介紹了vue子組件實(shí)時(shí)獲取父組件的數(shù)據(jù)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12