創建了vue-cli3腳手架項目之后,需要自己新建一個vue.config.js文件,然后配置axios,就可以請求接口獲取數據了。
實現代碼:
1.vue.config.js:設置反向代理,解決跨域
proxy: { '/api': { target: '請求地址', secure: false, // 如果是https接口,需要配置這個參數 ws: true,//是否代理websockets changeOrigin: true, pathRewrite: { '^/api': '' } } }
2.main.js:配置axios信息
import axios from 'axios' Vue.prototype.$axios = axios axios.defaults.baseURL = '請求地址';//后端開發環境地址 axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';//配置請求頭信息。 axios.defaults.headers.common['accessToken'] = 'FA4C308D5E8F6409E01344ADDAEB4C71';
3.vue文件,使用axios請求數據:
this.$axios({ method: "post", url: "/report/getReportFolders", data: {}, }).then((res) => { console.log(res); });
vue.config.js文件完整代碼:
module.exports = { /* 部署生產環境和開發環境下的URL:可對當前環境進行區分,baseUrl 從 Vue CLI 3.3 起已棄用,要使用publicPath */ /* baseUrl: process.env.NODE_ENV === 'production' ? './' : '/' */ publicPath: process.env.NODE_ENV === 'production' ? '/public/' : './', /* 輸出文件目錄:在npm run build時,生成文件的目錄名稱 */ outputDir: 'dist', /* 放置生成的靜態資源 (js、css、img、fonts) 的 (相對於 outputDir 的) 目錄 */ assetsDir: "assets", /* 是否在構建生產包時生成 sourceMap 文件,false將提高構建速度 */ productionSourceMap: false, /* 默認情況下,生成的靜態資源在它們的文件名中包含了 hash 以便更好的控制緩存,你可以通過將這個選項設為 false 來關閉文件名哈希。(false的時候就是讓原來的文件名不改變) */ filenameHashing: false, /* 代碼保存時進行eslint檢測 */ lintOnSave: true, /* webpack-dev-server 相關配置 */ devServer: { /* 自動打開瀏覽器 */ open: false, /* 設置為0.0.0.0則所有的地址均能訪問 */ host: '0.0.0.0', port: 9528, https: false, hotOnly: false, /* 使用代理 */ proxy: { '/api': { target: '請求地址', secure: false, // 如果是https接口,需要配置這個參數 ws: true,//是否代理websockets changeOrigin: true, pathRewrite: { '^/api': '' } } } }, }