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 +"&timestamp="+getTimestamp;
   }else{
   config.url = url +config.url +"?timestamp="+getTimestamp;
   }
  
  }
  return config;
  },
  err => {
  alert(err)
  return Promise.reject(err);
  });

这样访问后台接口配置就完成了!

相关推荐