vue项目在开发环境和生产环境接口地址配置简记

本文简要介绍了在Vue开发环境和生产环境中如何配置接口地址。在开发环境中,利用proxyTable进行代理,将'/api'重定向,而在生产环境中,通过设置常量拼接项目名称来确保正确调用接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发环境

在开发环境中,由于前后台并不是放在同一个服务器中的,所以这个时候就需要配置代理,打开vue项目的config/index.js文件,找到dev对象里的proxyTable配置如下:

 dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    // 配置后台通信
    proxyTable: {
      '/api': {
        // 本地
        target: 'http://localhost:8089/yunhai/api',
        // target: 'http://127.0.0.1:8089',
        changeOrigin: true,  //是否跨域
        pathRewrite: {
            '^/api': ''   //需要rewrite的,
        }
      }
    },
    ...... // 后面的属性这里省略
}

target是你要连接的服务器(可以是域名也可以是ip地址),pathRewrite是重定向。怎么理解呢?

比如我的项目名是yunhai,我有一个登录接口是api/account/login

向后台发起请求,那么请求路径就是

本质上其实我们是要访问http://localhost:8089/yunhai/api/account/login接口,所以上面我们配置target为http://localhost:8089/yunhai/api,意思是‘/api’映射为http: //localhost:8089/yunhai/api,再加上api/account/login,实际上访问的接口就是http://localhost:8089/yunhai/api/api/account/login,比要访问的多了一个/api,因此用到

pathRewrite: {
            '^/api': ''   //需要rewrite的,
        }

 将/api替换成空字符串,最后访问的就是http://localhost:8089/yunhai/api/account/login

生产环境

生产环境后端和前端包是放在同一个服务器中的(都放在tomcat的webapp文件夹里),因此不需要代理,或者说代理对生产环境不起作用。这时同样按照上面向后台发起请求的方式,实际访问的是http://localhost:8089/api/account/login,缺少了项目名称,因此,我们可以在封装的$httpUtils工具里这么处理

在访问接口前添加一个server常量,开发环境为空字符串,生产环境则设置为项目名称,这时访问的就是正确的接口地址了。

其实,无论是生产环境还是开发环境,本质上在于如何拼出正确的接口地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值