Vue讀取本地靜態(tài)文件json的2種方法以及優(yōu)缺點(diǎn)
Vue讀取本地靜態(tài)文件json
使用vue讀取本地的靜態(tài)文件
方法一:require
格式:
var json = require('文件的相對(duì)地址');
優(yōu)點(diǎn):可以按照你寫(xiě)的順序去執(zhí)行,沒(méi)有任何書(shū)寫(xiě)方面的局限。
缺點(diǎn):當(dāng)你打包的時(shí)候,它很可能被打包到 js 中去,出現(xiàn)這種情況基本就涼涼了。你的 js 超級(jí)大。網(wǎng)站基本無(wú)法訪問(wèn)。
解決:你的 js ,很大但是你可以把它c(diǎn)dn加速。這樣雖然很方便,但是你的流量就會(huì)消耗的很快。【錢(qián)多無(wú)視流量】
方法二:ajax
格式:
this.$ajax.get('http://localhost:80/static/map/province/anhui' +'.json') .then( response => { this.json = response.data; })
說(shuō)明:
1、上面的ajax的請(qǐng)求地址,是你的服務(wù)器地址。簡(jiǎn)單來(lái)說(shuō),你復(fù)制這個(gè)地址去瀏覽器可以訪問(wèn)到你的json數(shù)據(jù)。
2、上面的 ajax 是 axios。我只是給它重新取了個(gè)名字
3、缺點(diǎn)是,你無(wú)法控制ajax什么時(shí)候去調(diào)用的。很可能當(dāng)你需要數(shù)據(jù)的時(shí)候,即使你把上面請(qǐng)求的代碼,放在最前面都可能不行。
4、解決辦法。如果你請(qǐng)求的數(shù)據(jù)只有一次一個(gè)。那么你只需要把你的渲染代碼。放在ajax的回調(diào)函數(shù)里面就好了。
5、如果你是多次請(qǐng)求,你可以考慮一下ajax的嵌套。 所有的渲染頁(yè)面,都放在ajax里面,一定確保要渲染的時(shí)候已經(jīng)獲取到了數(shù)據(jù)。
總結(jié): 雖然,require 來(lái)獲取數(shù)據(jù)很簡(jiǎn)單,很容易被接受。但是js太大,這一個(gè)缺點(diǎn)就抹殺了它。推薦使用ajax。
Vue cli獲取本地json數(shù)據(jù)總是404報(bào)錯(cuò)
vue cli版本查看
創(chuàng)建項(xiàng)目后 vue -V 查看腳手架版本,一般看文件目錄就能看了
- vue-cli版本是2.0左右的就會(huì)有webpack的config目錄
- vue-cli版本是3.0以上的就會(huì)有vue.config.js沒(méi)有config目錄
為什么會(huì)要先查看腳手架版本就是之后會(huì)出現(xiàn)的問(wèn)題有關(guān)
創(chuàng)建本地json數(shù)據(jù)
vue-cli2.0將本地json數(shù)據(jù)放到目錄static目錄下
然后用請(qǐng)求就行了
這是vue cli2.0處理 之前我也是找了很久 有說(shuō)放public目錄下訪問(wèn)的 有說(shuō)放static目錄下訪問(wèn)的,都是報(bào)404錯(cuò)誤,主要是腳手架版本沒(méi)說(shuō)清楚,我的是vue cli2.0用這方法就能訪問(wèn)了。
vue cli3.0將文件放在public目錄下 訪問(wèn)的時(shí)候像這樣:
如果不行可以試試絕對(duì)路徑
在用 axios 時(shí)使用絕對(duì)路徑。如http://localhost:8080/xxx.json。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vite結(jié)合whistle實(shí)現(xiàn)一勞永逸開(kāi)發(fā)環(huán)境代理方案
這篇文章主要為大家介紹了Vite結(jié)合whistle實(shí)現(xiàn)一勞永逸開(kāi)發(fā)環(huán)境代理方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Ant Design Vue 添加區(qū)分中英文的長(zhǎng)度校驗(yàn)功能
這篇文章主要介紹了Ant Design Vue 添加區(qū)分中英文的長(zhǎng)度校驗(yàn)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下功能,2020-01-01Vue 兩個(gè)字段聯(lián)合校驗(yàn)之修改密碼功能的實(shí)現(xiàn)
本文以校驗(yàn)兩次密碼的一致性應(yīng)用,給出兩個(gè)可變屬性值的字段之間的聯(lián)合校驗(yàn)的典型解決方案,通過(guò)實(shí)例代碼給大家介紹Vue 兩個(gè)字段聯(lián)合校驗(yàn)之修改密碼功能的實(shí)現(xiàn),需要的朋友一起看看吧2021-07-07