1 Star 0 Fork 8

LKG/react-vite-admin

forked from Kirk/react-vite-admin 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
getEnv.ts 1.86 KB
一键复制 编辑 原始数据 按行查看 历史
kirk 提交于 2023-09-05 16:43 . feat: svg
import fs from 'fs'
import path from 'path'
import dotenv from 'dotenv'
export function isDevFn(mode: string): boolean {
return mode === 'development'
}
export function isProdFn(mode: string): boolean {
return mode === 'production'
}
/**
* Whether to generate package preview
*/
export function isReportMode(): boolean {
return process.env.VITE_REPORT === 'true'
}
// Read all environment variable configuration files to process.env
export function wrapperEnv(envConf: Record<string, any>): ViteEnv {
const ret: any = {}
for (const envName of Object.keys(envConf)) {
let realName = envConf[envName].replace(/\\n/g, '\n')
realName =
realName === 'true' ? true : realName === 'false' ? false : realName
if (envName === 'VITE_PORT') {
realName = Number(realName)
}
if (envName === 'VITE_PROXY') {
try {
realName = JSON.parse(realName)
} catch (error) {
console.log(error)
}
}
ret[envName] = realName
process.env[envName] = realName
}
return ret
}
/**
* Get the environment variables starting with the specified prefix
* @param match prefix
* @param confFiles ext
*/
export function getEnvConfig(
match = 'VITE_GLOB_',
confFiles = ['.env', '.env.production']
) {
let envConfig = {}
confFiles.forEach((item) => {
try {
const env = dotenv.parse(
fs.readFileSync(path.resolve(process.cwd(), item))
)
envConfig = { ...envConfig, ...env }
} catch (error) {
console.error(`Error in parsing ${item}`, error)
}
})
Object.keys(envConfig).forEach((key) => {
const reg = new RegExp(`^(${match})`)
if (!reg.test(key)) {
Reflect.deleteProperty(envConfig, key)
}
})
return envConfig
}
/**
* Get user root directory
* @param dir file path
*/
export function getRootPath(...dir: string[]) {
return path.resolve(process.cwd(), ...dir)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/lkg/react-vite-admin.git
git@gitee.com:lkg/react-vite-admin.git
lkg
react-vite-admin
react-vite-admin
master

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385