vite配置静态文件(部署后可手动修改配置文件)


前言

之前老是遇到生产配置数据切换的情况,为了避免这种静态配置数据切换导致的各种问题,且合理配置静态配置的情况。咱结合最近vite+vue3+ts的项目,来新增环境配置数据,防止生产配置数据变更,


一、新增不同环境的静态配置数据

因为需要避免再次打包的问题,所以直接在 public 目录新建 cofig文件夹(无需打包,且可以手动替换文件)
然后分别新建以下文件
env-development.json 开发环境配置数据
env-sit.json 测试环境配置数据
env-uat.json 业务验收环境配置数据
env-production.json 生产环境配置数据

然后把各自需要的静态配置数据写在对应环境文件上
在这里插入图片描述

二、使用静态配置数据

这里用到了 viteimport.meta.env.MODE 取值对应环境变量
然后使用 fetch 方法获取对应静态文件的数据
把下面代码放在在uitls目录的自定义文件内

/**
 * 获取静态配置数据
 */
export const getFetchEnv = async() => {
  const envUrl = `env-${import.meta.env.MODE}`
  const fetchFile = await fetch(`/config/${envUrl}.json`)
  const fetchENV = await fetchFile.json()
  console.log('fetchENV_fetchENV', fetchENV)
  return fetchENV
};


在这里插入图片描述

由于可能多个页面会使用到这种数据,所以咱直接把获取的数据设置在全局,共页面使用,这里直接在 main.ts 文件上使用(当然也可以直接在需要使用的位置引入使用)

import { getFetchEnv } from '@/utils/fetch-env';
import { createApp } from 'vue'
getFetchEnv.then((fetchEnv) => {
	const app = createApp(App)
	// 获取静态配置数据
	app.config.globalProperties.$fetchENV = fetchEnv
})

最后在需要使用的地方直接取值使用即可,例如

import { getCurrentInstance } from "vue";
const fetchENV = getCurrentInstance().appContext.config.globalProperties.$fetchENV
console.log(fetchENV)

在这里插入图片描述

使用上述方法后结果截图如下

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值