vue+vite项目中的环境变量配置

工作中,因生产、开发和测试环境服务器不同,项目需根据不同环境选择服务器地址,应配置环境变量而非直接用proxy代理。介绍了在无环境变量配置时打印import.meta.env的结果,创建.env.development文件后的结果,还说明了在vite.config.js中进行代理跨域配置,以完成不同环境下的代理跨域设置。

在工作中,由于生产环境和开发环境以及测试环境下的服务器可能并不是一台,所以,在项目中要根据不同的环境选择不同的服务器地址,这是就需要对环境变量进行配置,而不应该直接通过proxy进行代理配置。

没有配置任何环境变量的情况下,在入口文件mian.ts中打印import.meta.env得到的结果如下:

 在src目录下创建.env.development文件如下:

VITE_APP_BASE_API = '/prod-api'
VITE_SERVE="https://wwww.baidu.com"

此时,在入口文件mian.ts中打印import.meta.env得到的结果如下(这是vite所支持的):

我们会发现,得到的结果中新增了我们自己配置的VITE_APP_BASE_API 以及VITE_SERVE。

接下来再进行代理跨域的配置,在vite.config.js文件中:

import { defineConfig, loadEnv } from 'vite'
export default defineConfig(({ command, mode }) => {
  //获取各种环境下的对应的变量
  let env = loadEnv(mode, process.cwd());
  return {           
    //代理跨域
    server: {
      proxy: {
        [env.VITE_APP_BASE_API]: {
          //获取数据的服务器地址设置
          target: env.VITE_SERVE,
          //需要代理跨域
          changeOrigin: true,
          //路径重写
          rewrite: (path) => path.replace(/^\/api/, ''),
        }
      }
    }
  }
})

这样就自动完成了不同环境下的代理跨域的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值