注意:本仓库已废弃,所有功能已迁移至 meta-env-typed。
请使用新的仓库以获取最新功能和更新。
vite-plugin-env-typed 是一个Vite插件,可自动生成 import_meta.d.ts 文件,为您的环境变量提供完整的TypeScript类型支持。使用此插件,您可以在开发过程中获得更好的类型提示和类型检查。
- 🚀 自动生成环境变量类型定义
- 💡 完整的TypeScript支持
- ⚡️ 零配置,即开即用
- 🔒 类型安全的环境变量访问
- 🔄 当环境文件变更时自动更新类型定义
# 使用npm
npm install vite-plugin-env-typed -D
# 使用yarn
yarn add vite-plugin-env-typed -D
# 使用pnpm
pnpm add vite-plugin-env-typed -D- 在您的
vite.config.ts中配置插件:
import { defineConfig } from 'vite'
import envTyped from 'vite-plugin-env-typed'
export default defineConfig({
plugins: [
envTyped({
// 可选:指定环境模式,默认为process.env.NODE_ENV或import.meta.env.MODE
mode: 'development',
// 可选:指定环境文件目录,默认为process.cwd()
envDir: './',
// 可选:指定环境变量前缀,默认为'VITE_'
envPrefix: ['VITE_', 'CUSTOM_'],
// 可选:指定类型定义文件输出路径,默认为'src/import_meta.d.ts'
filePath: './src/types/import_meta.d.ts',
// 可选:是否在类型中包含实际值,默认为false
valueInType: true
})
]
})- 在您的代码中使用环境变量:
// 现在您可以获得完整的类型提示
console.log(import.meta.env.VITE_API_URL)该插件支持以下配置选项:
interface EnvTypedOptions {
/**
* 环境模式
* @default process.env.NODE_ENV或import.meta.env.MODE
*/
mode?: 'development' | 'production' | string
/**
* 环境文件目录
* @default process.cwd()
*/
envDir?: string
/**
* 环境变量前缀
* @default 'VITE_'
*/
envPrefix?: string | string[]
/**
* 类型定义文件输出路径
* @default 'src/import_meta.d.ts'
*/
filePath?: string
/**
* 是否在类型中包含实际值
* @default false
* @example
* // 当valueInType为false时
* VITE_API_URL: string
* // 当valueInType为true时
* VITE_API_URL: 'https://api.example.com'
*/
valueInType?: boolean
}// vite.config.ts
import { defineConfig } from 'vite'
import envTyped from 'vite-plugin-env-typed'
export default defineConfig({
plugins: [envTyped()]
})// vite.config.ts
export default defineConfig({
plugins: [
envTyped({
envPrefix: ['VITE_', 'CUSTOM_']
})
]
})// vite.config.ts
export default defineConfig({
plugins: [
envTyped({
valueInType: true
})
]
})欢迎提交 issues 或 pull requests 来帮助改进 vite-plugin-env-typed。
MIT