vue讀取文件內(nèi)容的方法:1、創(chuàng)建一個test.properties測試內(nèi)容;2、通過“readTestFile(){const file = this.loadFile('test.properties')…}”方法讀取文件內(nèi)容即可。
本文操作環(huán)境:windows7系統(tǒng)、vue/cli 4.3.1&&ultimate 2019.1&&nodev12.16.2版,DELL G3電腦。
觀前提示:
本文所使用的IDEA版本為ultimate 2019.1,node版本為v12.16.2,vue版本為@vue/cli 4.3.1。
在項目開發(fā)過程中,需要在vue前端讀取配置等文件。
1.實例
我的本地文件放在vue項目中的public文件夾中
test.properties
content=測試內(nèi)容
vue文件中讀取文件內(nèi)容
// 讀取test.properties readTestFile() { const file = this.loadFile('test.properties') console.info(file) console.log(this.unicodeToUtf8(file))}, // 讀取文件 loadFile(name) { const xhr = new XMLHttpRequest() const okStatus = document.location.protocol === 'file:' ? 0 : 200 xhr.open('GET', name, false) xhr.overrideMimeType('text/html;charset=utf-8') // 默認為utf-8 xhr.send(null) return xhr.status === okStatus ? xhr.responseText : null}, // unicode轉(zhuǎn)utf-8 unicodeToUtf8(data) { data = data.replace(/\/g, '%') return unescape(data)}
運行結(jié)果如下
2.可能遇到的問題
2.1.解析的文件亂碼
讀取文件的方法,以utf-8形式讀取文件,建議修改文件格式保存為utf-8編碼,或者改變讀取格式
xhr.overrideMimeType('text/html;charset=utf-8') // 默認為utf-8
2.2.讀取中文為unicode編碼
由于properties存儲中文為unicode編碼,需要在后臺,或者前端處理一下
// unicode轉(zhuǎn)utf-8 unicodeToUtf8(data) { data = data.replace(/\/g, '%') return unescape(data)}