123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import dotenv from 'dotenv'
- import { writeFileSync } from 'fs'
- // 加载 .env 文件 先找.local 然后对应环境文件,最后找默认的,左边的优先级最高
- const NODE_ENV = process.env.NODE_ENV
- dotenv.config({ path: NODE_ENV ? [`.env.${NODE_ENV}.local`, '.env.' + NODE_ENV, '.env'] : '.env' })
- const { VITE_SERVER_ORIGIN, VITE_NGINX_PROXY, VITE_API_SUFFIX_URL, VITE_RULE_SERVER_URL, VITE_MEDIA_SERVER_URL } = process.env
- console.log(VITE_SERVER_ORIGIN, VITE_NGINX_PROXY, VITE_API_SUFFIX_URL, VITE_RULE_SERVER_URL, VITE_MEDIA_SERVER_URL)
- const baseUrl = VITE_SERVER_ORIGIN + VITE_NGINX_PROXY + VITE_API_SUFFIX_URL
- console.log(baseUrl)
- const configFile = './public/config.js'
- const configJson = {
- topo: {
- server: baseUrl,
- imgServer: VITE_SERVER_ORIGIN + VITE_NGINX_PROXY,
- },
- screen: {
- server: baseUrl,
- imgServer: VITE_SERVER_ORIGIN + VITE_NGINX_PROXY,
- },
- rule: {
- server: VITE_RULE_SERVER_URL,
- iotServer: baseUrl,
- },
- designer: {
- baseServer: VITE_SERVER_ORIGIN + VITE_NGINX_PROXY,
- server: baseUrl,
- },
- media: VITE_MEDIA_SERVER_URL,
- }
- // 大屏项目会存在配置找不到的情况,增加同步请求的 js 配置文件,避免异步请求延迟导致的异常
- const configJs = `window.allEnv = ${JSON.stringify(configJson, null, 2)}`
- // 文件写入
- try {
- // 将.env 中的值进行赋值之后写入 config.json
- writeFileSync(configFile, configJs, { flag: 'w+', encoding: 'utf-8' })
- console.log(`-> 更新配置成功`)
- console.log(configJson)
- console.log(`===============================================================`)
- } catch (err) {
- console.error(`-> 更新配置成功: `)
- console.error(err)
- }
|