最近我在學習前端開發,遇到了axios訪問不到本地json文件的問題。
首先,需要明確的是,axios默認是不能直接訪問本地文件的,因為它是基于瀏覽器XMLHttpRequest實現的。
解決這個問題的方法是,使用webpack的devServer進行本地開發,將要訪問的json文件存放在public文件夾下,在axios的請求url中直接引入該文件即可。
axios.get('/data.json')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
如果沒有使用webpack的devServer進行本地開發,可以使用如下方式解決問題:
//在項目的根目錄下找到vue.config.js,如果沒有則創建
module.exports = {
devServer: {
before(app) {
// 配置一個接口,用于獲取本地json文件
app.get('/data.json', function (req, res) {
res.json(require('./public/data.json'))
})
}
}
}
在以上配置中,我們通過使用express創建了一個接口,用于將本地data.json文件返回給axios請求。
綜上所述,如果要使用axios訪問本地json文件,可以通過webpack的devServer或使用express創建接口來實現。
上一篇js配置vue