近来看到下面这篇感觉很不错,文章主要给大家介绍了vue webpack开发访问后台接口全局配置的方法的相关资料,需要的朋友可以参考下
在实际开发中,使用vue 后就是前后端分离开发了,这时候我们就需要访问后台的接口来拿到数据,需要URL,name,password来获取到token才能正常使用接口,下面就来配置。
1、找到config文件夹,在prod.env.js中添加一下代码(若没有此JS,自己创建一个就可以了)
'use strict' module.exports = { NODE_ENV: '"production"', API_ROOT: '"//123.116.245.150:18081/api"',/*j后台接口地址*/ USER_NAME: '""',/*账号*/ PASS_WD: '""'/*密码*/ }
2、找到config文件夹,在dev.env.js中添加下面代码。
'use strict' const merge = require('webpack-merge') const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { API_ROOT: '"//125.116.245.101:18081/api"',/*后台接口地址*/ USER_NAME: '"小小小"',/*账号*/ PASS_WD: '"123456"',/*密码*/ })
然后再登录页面的from中调用这里写的变量
form: { name: process.env.USER_NAME, password: process.env.PASS_WD, },
在main.js中设置头部拦截器,代码如下
const url = process.env.API_ROOT; axios.interceptors.request.use( config => { let token = localStorage.getItem("x-auth-token"); if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上token config.headers.token = `${token}`; } if (config.url.indexOf(url) === -1) { let getTimestamp=new Date().getTime(); if(config.url.indexOf('?')>-1){ config.url = url + config.url +"×tamp="+getTimestamp; }else{ config.url = url +config.url +"?timestamp="+getTimestamp; } } return config; }, err => { alert(err) return Promise.reject(err); });
这样访问后台接口配置就完成了!
以上这篇vue webpack开发访问后台接口全局配置的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。