Vue3實(shí)現(xiàn)通過(guò)axios來(lái)讀取本地json文件
前言
一般前端mock數(shù)據(jù)或者數(shù)據(jù)量過(guò)大且不需要考慮安全問(wèn)題,或者數(shù)據(jù)穩(wěn)定不需要常做變更的場(chǎng)景
這些數(shù)據(jù)可以由前端進(jìn)行維護(hù),將數(shù)據(jù)轉(zhuǎn)為json文件放到前端本地進(jìn)行讀取
本人在項(xiàng)目開(kāi)發(fā)中,要實(shí)現(xiàn)地圖的下鉆功能,將各省市的json下載到了本地靜態(tài)資源包中,結(jié)果請(qǐng)求時(shí)總是報(bào)錯(cuò)404
前端存放JSON文件的位置
我們的項(xiàng)目是通過(guò)vue-cli3創(chuàng)建的
vue-cli3版本腳手架對(duì)外暴露的靜態(tài)文件入口是public文件夾(原來(lái)是static文件夾)
這里本地json文件也應(yīng)該放在這里
請(qǐng)求JSON數(shù)據(jù)
直接通過(guò)axios請(qǐng)求即可
import axios from './$http' // 靜態(tài)數(shù)據(jù) const API = { // 關(guān)于我們 banner 圖 getAboutBanner (url) { return axios.get('/mock/AboutBanner.json') } } export default API
特別注意
json文件存放在public目錄下,如/public/template/province/jsonData.json
那么在請(qǐng)求json數(shù)據(jù)的時(shí)候
地址千萬(wàn)千萬(wàn)千萬(wàn)不能寫(xiě)/public/template/province/jsonData.json
而是寫(xiě)/template/province/jsonData.json
否則會(huì)報(bào)404,因?yàn)殪o態(tài)資源在打包后,默認(rèn)public內(nèi)的文件放在項(xiàng)目根目錄
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue、react等單頁(yè)面項(xiàng)目應(yīng)該這樣子部署到服務(wù)器
這篇文章主要介紹了vue、react等單頁(yè)面項(xiàng)目應(yīng)該這樣子部署到服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01詳解vue之自行實(shí)現(xiàn)派發(fā)與廣播(dispatch與broadcast)
這篇文章主要介紹了詳解vue之自行實(shí)現(xiàn)派發(fā)與廣播(dispatch與broadcast),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Vue前端項(xiàng)目自適應(yīng)布局的簡(jiǎn)單方法
最近項(xiàng)目開(kāi)發(fā)中遇到一個(gè)需求,需要實(shí)現(xiàn)寬度自動(dòng)適應(yīng),所以下面這篇文章主要給大家介紹了關(guān)于Vue前端項(xiàng)目自適應(yīng)布局的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06Vue配置marked鏈接添加target="_blank"的方法
這篇文章主要介紹了Vue配置marked鏈接添加target="_blank"的方法,文中給大家提到了vue實(shí)現(xiàn)類似target="_blank"打開(kāi)新窗口的代碼,感興趣的朋友參考下吧2019-07-07