vue-cli3 axios去除预检请求OPTIONS 做请求代理

1 篇文章 0 订阅

本地开发

在 vue.config.js 配置代理

proxy: {
  '/api': {
    target: 'https://easy-mock.com/mock/5cce946a3d417120b6186d75/data_demo', // 接口地址
    secure: false,  //https请求需要这个参数
    changeOrigin: true,  //是否跨域
    pathRewrite: { '^/api': '' } //需要pathRewrite
  }
}

这里的 api  名称就是你原来的域名配置  你要其他名字也可以

<% if (process.env.VUE_APP_NODE_ENV === 'dev') { %>
  <script>window.SITE_CONFIG['apiURL'] = '/api';</script>
<% } %>

代码

/**
 * 配置参考: https://cli.vuejs.org/zh/config/
 */
module.exports = {
  baseUrl: process.env.NODE_ENV === 'production' ? './' : '/',
  productionSourceMap: false,
  devServer: {
    open: true,
    port: 8001,
    proxy: {
      '/api': {
        target: 'https://easy-mock.com/mock/5cce946a3d417120b6186d75/data_demo',
        secure: false,
        changeOrigin: true,
        pathRewrite: { '^/api': '' }
      }
    },
    overlay: {
      errors: true,
      warnings: true
    }
  }
}

重启项目OPTIONS请求就没有了

打包后这个页面就没法代理了  所有要放在nginx 服务器下做代理

线上部署

NGINX服务器安装

下载安装  不多说了  

启动服务  start nginx       停止服务  nginx -s stop

配置 nginx.conf 文件

加上

 location /api {
            proxy_pass https://easy-mock.com/mock/5cce946a3d417120b6186d75/data_demo;
            proxy_redirect default;
        }

就可以做好服务代理了

 

这里要感谢同事指出不足之处

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Huang-ioi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值