Vue开发项目过程中环境变量的配置(vite、vue3、ts)

简介: Vue开发项目过程中环境变量的配置(vite、vue3、ts)

项目开发过程中,至少会经历开发环境、测试环境和生产环境(即正式环境)三个阶段。不同阶段请求的状态(如接口地址等)不尽相同,若手动切换接口地址是相当繁琐且易出错的。于是环境变量配置的需求就应运而生,我们只需做简单的配置,把环境状态切换的工作交给代码。


开发环境(development)

顾名思义,开发使用的环境,每位开发人员在自己的dev分支上干活,开发到一定程度,同事会合并代码,进行联调。

测试环境(testing)

测试同事干活的环境啦,一般会由测试同事自己来部署,然后在此环境进行测试


生产环境(production)


生产环境是指正式提供对外服务的,一般会关掉错误报告,打开错误日志。(正式提供给客户使用的环境。)


注意:一般情况下,一个环境对应一台服务器,也有的公司开发与测试环境是一台服务器!!!


项目根目录分别添加开发、生产和测试环境的文件!

在相应的环境配置文件当中去放置一些变量

.env.development // 开发
.env.production // 生产
.env.test // 测试

在根目录下配置相关文件:

单词可不要拼错哈 dego~



# 变量必须以 VITE_ 为前缀才能暴露给外部读取
NODE_ENV = 'development'
VITE_APP_TITLE = 'IKUN-UI展示实现平台'
VITE_APP_BASE_API = '/dev-api'
VITE_SERVER = 'http://localhost:8080/'
NODE_ENV = 'production'
VITE_APP_TITLE = 'IKUN-UI展示实现平台'
VITE_APP_BASE_API = '/prod-api'
VITE_SERVER = 'http://localhost:8080/'
NODE_ENV = 'test'
VITE_APP_TITLE = 'IKUN-UI展示实现平台'
VITE_APP_BASE_API = '/test-api'
VITE_SERVER = 'http://localhost:8080/'

找到 package.json 文件进行配置不同环境下的打包命令

  "scripts": {
    "dev": "vite --open",
    "build": "vue-tsc && vite build",  // 开发
    "build:test": "vue-tsc  && vite build --mode test", // 测试
    "build:pro": "vue-tsc && vite build --mode production",  // 生产
    "preview": "vite preview"
  },

如下是处于开发环境,这样( import.meta.env )就获取到了开发环境下对应的变量的值:

import { createApp } from 'vue'
import App from '@/App.vue'

console.log(import.meta.env)
createApp(App).mount('#app')

目录
相关文章
|
1天前
|
JavaScript API
vue3【实用教程】组件(含父子组件传值 defineProps,自定义事件 defineEmits,defineProps,插槽 slot,动态组件 :is 等)
vue3【实用教程】组件(含父子组件传值 defineProps,自定义事件 defineEmits,defineProps,插槽 slot,动态组件 :is 等)
8 1
|
23小时前
vue3 自定义 v-model(无参数和带参数)【setup版】(两种方案)
vue3 自定义 v-model(无参数和带参数)【setup版】(两种方案)
5 0
|
23小时前
vue3【实战】可撤销重做的 input 输入框
vue3【实战】可撤销重做的 input 输入框
5 0
|
1天前
|
JavaScript
Vue2和Vue3的安装,vue2的安装和初始化配置
Vue2和Vue3的安装,vue2的安装和初始化配置
|
JavaScript
vite-Vue的无捆绑开发服务
vite-Vue的无捆绑开发服务
96 0
|
1天前
|
JavaScript
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
|
1天前
|
JavaScript 区块链
vue 自定义网页图标 favicon.ico 和 网页标题
vue 自定义网页图标 favicon.ico 和 网页标题
9 1
|
1天前
|
JavaScript
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run
|
2天前
|
存储 JavaScript 数据安全/隐私保护
vue实战——登录【详解】(含自适配全屏背景,记住账号--支持多账号,显隐密码切换,登录状态保持)
vue实战——登录【详解】(含自适配全屏背景,记住账号--支持多账号,显隐密码切换,登录状态保持)
12 1
|
2天前
|
JavaScript
vue实战——404页面模板001——男女手电筒动画
vue实战——404页面模板001——男女手电筒动画
8 1