vue-cli3中配置axios及使用
创建了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': '' } } } }, }