十五、环境变量和代理跨域及api的定义

环境变量的定义

  1. 在根目录下新建三个环境变量配置文件 .env.development(开发环境).env.test(测试环境).evn.production(生产环境)
  2. 分别定义开发环境、线上环境和测试环境的变量
  • webpack
js 复制代码
VUE_APP_TITLE = 学企来
# 开发环境配置
ENV = 'development'
VUE_APP_BASE_API = '/dev-api'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
  • vite:默认只有 VITE_ 开头的变量可以被访问

环境变量的使用

  • webpack: process.env.VUE_APP_TITLE

  • vite: import.meta.env

  • vite.config.js: loadEnv

js 复制代码
import { defineConfig, loadEnv } from 'vite'

export default defineConfig(({ command, mode }) => {
  // 根据当前工作目录中的 `mode` 加载 .env 文件
  // 设置第三个参数为 '' 来加载所有环境变量,而不管是否有 `VITE_` 前缀。
  const env = loadEnv(mode, process.cwd(), '')
  return {
    // vite 配置
    define: {
      __APP_ENV__: JSON.stringify(env.APP_ENV),
    },
  }
})

代理跨域配置

  • 配置proxy:只在开发环境有效
js 复制代码
import { 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/, ''),
        },
      },
    },
  }
})

线上接口文档

http://139.198.104.58:8209/swagger-ui.html

http://139.198.104.58:8212/swagger-ui.html#/

相关推荐
张元清16 分钟前
什么是React并发模式中的Tearing(撕裂)
前端·面试
AndyLaw17 分钟前
统计字符数错一半,我被 length 坑了两次
前端·javascript
关羽的小刀18 分钟前
Element-UI最新版暗藏Lodash漏洞?一次真实项目安全排查记录
前端
张志鹏PHP全栈18 分钟前
Vue3第五天,ref 和 reactive的介绍和区别
前端·vue.js
郭邯20 分钟前
import.meta对象是什么?
前端
用泥种荷花36 分钟前
【NPM 笔记(一)】NPM 入门知识:命令、依赖与脚本核心
前端
大巨头37 分钟前
在vscode中使用通义灵码插件记录分享
前端
江城开朗的豌豆39 分钟前
Vue/React凭什么吊打传统前端?6年老司机带你揭秘它们的性能杀招!
前端·javascript·vue.js
江城开朗的豌豆40 分钟前
虚拟DOM:为什么React/Vue比直接操作DOM快10倍?
前端·javascript·vue.js
mrsk41 分钟前
JavaScript中的大数相加是怎么突破数字的极限的?
前端·javascript·面试