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>
相关推荐
竹林81821 分钟前
用 wagmi v2 和 viem 手写 NFT 市场批量上架功能,我踩遍了所有异步坑
javascript
belong_my_offer29 分钟前
认识到精通函数
开发语言·python
zithern_juejin30 分钟前
数组扁平化
javascript
guygg8835 分钟前
最大相关-最小冗余(mRMR)特征选择 MATLAB 实现
开发语言·matlab
清溪54935 分钟前
n8n表达式沙箱逃逸至RCE漏洞-CVE-2025-68613复现
javascript·安全
Hilaku1 小时前
多标签页并发请求导致 Token 刷新失败?只有 15行代码就能解决 !
前端·javascript·程序员
郭涤生1 小时前
C++ 高性能编程最佳实践清单
开发语言·c++
烛衔溟1 小时前
TypeScript 类的静态成员与静态方法
开发语言·javascript·typescript
Nile1 小时前
解密Palantir系列一:4. Ontology 不是哲学
开发语言·前端·javascript
Highcharts1 小时前
如何创建蛛网地图|气泡事件+全球发布+关联组合图表开发示例
javascript