vue/cli3.x開發環境下配置json不用放在public文件夾裏也可以請求,和請求接口跨域配置問題

  1. vue/cli默認本地數據是放在public下,若數據路徑爲/public/data.json,請求時只需要,如果沒有‘/’會出現錯誤
    在這裏插入圖片描述
    但是,如果json放在其他位置需要配置,我把data.json放在根目錄下,建立vue.config.js文件來配置配置如下:
var datas = require('./data.json')
module.exports = {
  devServer: {
    port: 7788,
    before (app) {
      app.get('/data', (req, res) => {
        res.json(datas)
      })
    },
    proxy: null
  }
}

頁面中:

import axios from 'axios'
axios.get('/data').then((data) => {
  console.log(data)
})

瀏覽器console如下:
在這裏插入圖片描述

axios獲取本地數據總結:vue.config.js中的get請求接口與頁面中的相同。

  1. axios請求接口配置可以跨域
    vue.config.js配置如下:
module.exports = {
  devServer: {
    port: 7788,
    proxy: {
      '/data': {
        changeOrigin: true,//允許跨域
        target: 'http://api.douban.com/v2/movie/in_theaters?apikey=0df993c66c0c636e29ecbb5344252a4a&start=0&count=10'
      }
    }
  }
}

其中target爲豆瓣數據的接口,映射到/data接口
頁面中:

import axios from 'axios'
axios.get('/data').then((data) => {
  console.log(data)
})

獲得的數據和1一樣。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章