vite: 环境变量

vite中关于环境变量
更新于: 2023-11-17 10:17:18

解决方案

我想在 vite 环境里使用 process.env,这个是此寻找方案的出发点(方便与webpack方案统一)。

不足之处

可以自己重写此插件实现这个目标。

  1. get 还没有添加 types,最好是自动生成
  2. mode 应该添加到 env 中去,因为有时候需要知道当前的MODE (predefined vars: 一些预定义的变量)

安装

# add vite-plugin
yarn add --dev vite-plugin-environment
# add vite-envs
yarn add @jswork/vite-envs

配置

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import EnvironmentPlugin from 'vite-plugin-environment';

// https://vitejs.dev/config/
export default defineConfig({
  envDir: 'config/environments',
  plugins: [react(), EnvironmentPlugin('all', { prefix: 'VITE_' })]
});

App.js

import '@jswork/next';
import ViteEnvs from '@jswork/vite-envs';

nx.mix(nx, { $env: ViteEnvs.get });

config/environments

./config
└── environments
    ├── .env.beta.production
    ├── .env.local
    └── .env.production

参考