Vite配置环境变量以及动态更新html数据

一、设置配置文件

javascript 复制代码
// .env
// 公共配置文件,总是生效
VITE_BASE_API_URL='http://localhost:3000'

// .env.development
VITE_BASE_API_URL='/api'
VITE_TAB_TITLE='development title'

// .env.production
VITE_BASE_API_URL='/api'
VITE_TAB_TITLE='production title'

二、安装插件

bash 复制代码
npm i create-html-plugin -D

三、在Vite.config.ts中设置获取环境变量

javascript 复制代码
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import { createHtmlPlugin } from 'vite-plugin-html'

// 获取环境变量文件中的键值对
const getViteEnv = (mode: string, key: string) => {
  return loadEnv(mode, process.cwd())[key]
}

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  console.log(getViteEnv(mode, 'VITE_TAB_TITLE'))
  return {
    plugins: [
      vue(),
      // html插件,负责更新不同环境下的title等数据
      createHtmlPlugin({
        inject: {
          data: {
            systemConfig: {
              tabTitle: getViteEnv(mode, 'VITE_TAB_TITLE')
            }
          }
        }
      })
    ],
    resolve: {
      alias: {
        '@': resolve(__dirname, 'src')
      }
    }
  }
})

四、使用

html 复制代码
    <title><%= systemConfig.tabTitle %></title>
相关推荐
支撑前端荣耀10 分钟前
从零实现前端监控告警系统:SMTP + Node.js + 个人邮箱 完整免费方案
前端·javascript·面试
先知后行。15 分钟前
python的类
开发语言·python
shanLion15 分钟前
Vite项目中process报红问题的深层原因与解决方案
前端·javascript
烟袅17 分钟前
从零构建一个待办事项应用:一次关于组件化与状态管理的深度思考
前端·javascript·react.js
派大鑫wink21 分钟前
【Day12】String 类详解:不可变性、常用方法与字符串拼接优化
java·开发语言
JIngJaneIL24 分钟前
基于springboot + vue健康管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
dyxal25 分钟前
Python包导入终极指南:子文件如何成功调用父目录模块
开发语言·python
我居然是兔子34 分钟前
Java虚拟机(JVM)内存模型与垃圾回收全解析
java·开发语言·jvm
小许好楠1 小时前
java开发工程师-学习方式
java·开发语言·学习
superman超哥1 小时前
仓颉锁竞争优化深度解析
c语言·开发语言·c++·python·仓颉