位置: IT常识 - 正文

vue项目根据不同环境动态配置接口请求ip及全局变量(vue环境变量配置)(vue调用同一个组件)

编辑:rootadmin
vue项目根据不同环境动态配置接口请求ip及全局变量(vue环境变量配置)

推荐整理分享vue项目根据不同环境动态配置接口请求ip及全局变量(vue环境变量配置)(vue调用同一个组件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue项目根据不同环境切换登录不同系统,vue根据不同用户跳转到不同页面,vue多个项目,vue项目根据不同环境切换登录不同系统,vue根据不同条件import,vue根据不同用户跳转到不同页面,vue项目根据不同环境切换登录不同系统,vue根据不同用户跳转到不同页面,内容如对您有帮助,希望把文章链接给更多的朋友!

在项目的开发过程中,我们常常会遇到根据不同的环境需要切换不同的ip的问题,例如在项目部署到测试服时需要将接口请求ip替换成测试服的ip,部署到正式服时又需要将接口请求ip替换成正式服对应的ip,有些公司还有预发环境等,这样在每次部署不同环境的项目前都需要先手动切换ip,这样既繁琐又易出错。本篇文章就记录了本人在解决这一问题的详细步骤。

配置步骤1.在项目的根目录下新建 .env.xxx 文件

vue脚手架创建的项目默认目录结构如下:

根据环境个数在根目录下新增 .env.xxx 文件

 如上,三个 .env.xxx 文件后缀名(文件后缀名可自定义)为development、production、test,可分别对应为开发环境、生产环境和测试环境。如果还需要预发环境,则还可继续新增一个 .env.pre 文件代表预发环境。

每个环境都会加载的变量

如果还需要设置每个环境都需要加载的变量,则可以添加 .env 文件,如果没有,则可以不建此文件。(即每个环境对应变量的变量值都是一样的时候,则可以将变量定义在公用的.env文件中,而对应每个环境的 .env.xxx文件中则不需要再重复定义此变量)

2.在对应环境的 .env.xxx 文件中添加变量

在.env.xxx 文件中只有 NODE_ENV,BASE_URL 和以 VUE_APP_ 开头的变量会通过 webpack.DefinePlugin 静态地嵌入到客户端侧的代码中。

NODE_ENV : 主要用于标识当前的环境BASE_URL: vue.config.js 中的 publicPath 选项相符,即你的应用会部署到的基础路径VUE_APP_* : 自定义变量vue项目根据不同环境动态配置接口请求ip及全局变量(vue环境变量配置)(vue调用同一个组件)

.env.development(开发环境) 文件代码

.env.production(生产环境) 文件代码

.env.test(测试环境) 文件代码

.env(所有环境都会加载的变量) 文件代码

3.package.json 文件配置对应环境打包命令

vue脚手架创建的项目默认配置如下:

vue-cli-service serve:配置默认是使用的development对应环境的环境变量(当然也可以自己手动指定对应的环境,在现有命令后面加上 --mode development即可,完整命令:vue-cli-service serve --mode development), 也就是说执行npm run serve,会将.env.development文件和.env文件里面的变量加入项目代码中vue-cli-service build:配置默认是使用的production对应环境的环境变量, 也就是说执行npm run build,会将.env.production文件和.env文件里面的变量加入项目代码中

添加测试服打包命令(运行命令:npm run build:test)

在package.json文件中的 scripts 对象中添加如下代码:

 vue-cli-service build --mode test :命令中的test对应的是 .env.xxx文件中设置NODE_ENV变量的值,如果没有设置NODE_ENV变量,则默认以 .env.xxx 文件的后缀名为准,如果也找不到.env.test文件,则打包报错,

如果想在本地直接使用测试服的环境变量也可以在package.json 中再配置项目启动命令,配置如下(运行命令:npm run serve:test):

 或者直接修改现有serve 的运行模式: 

配置完成后如何在项目中使用在请求js文件中,可用于替换请求接口的ip,达到根据不同的环境请求不同的ip的效果在vue文件中,可当作全局变量使用,类似于在vue中定义的全局常量在vue.config.js文件中使用,可用于判断当前的打包环境,根据不同的环境进行一些打包优化配置vue-cli的index.html中使用,可用于加载公司统一定义的一些js、css等头部文件(需根据各个环境引入各自的js和css)1.请求接口的js文件/vue页面中使用 语法:process.env.变量名称

2.vue.config.js中根据环境变量判断打包环境,进行打包优化配置:

3.在vue-cli的index.html中使用

语法:<%= 变量名 %> html中根据不同环境,加载不同css/js文件

//css文件<link rel="stylesheet" href="<%= VUE_APP_API %>/header/head.css" rel="external nofollow" >//js文件<script type="text/javascript" src="<%= VUE_APP_API %>/footer.js"></script>

html中根据不同环境,加载不同本地js代码

<% if (process.env.NODE_ENV === 'production' ) { %> <script> window.test = 'xxxx' </script><% } %>

本文链接地址:https://www.jiuchutong.com/zhishi/295946.html 转载请保留说明!

上一篇:Bert 得到中文词向量(bert获取中文词向量)

下一篇:利用Matlab进行图像分割和边缘检测(利用matlab作图)

  • 品牌故事是产品最好的软文推广(什么是品牌故事,品牌故事一般都包括哪些内容)

    品牌故事是产品最好的软文推广(什么是品牌故事,品牌故事一般都包括哪些内容)

  • 小米平板5怎么下载和平精英(小米平板5怎么看激活时间)

    小米平板5怎么下载和平精英(小米平板5怎么看激活时间)

  • 小米闻声是干什么用的(miui闻声)

    小米闻声是干什么用的(miui闻声)

  • 抖音关注功能已封禁是怎么了(抖音关注功能已封禁几天解封)

    抖音关注功能已封禁是怎么了(抖音关注功能已封禁几天解封)

  • 手机打开网站为什么出现504gateway(手机打开网站为什么黑屏)

    手机打开网站为什么出现504gateway(手机打开网站为什么黑屏)

  • 声卡的主要功能是啥(声卡的主要功能是什么选择题)

    声卡的主要功能是啥(声卡的主要功能是什么选择题)

  • 支付保护中心怎么关闭(支付保护中心怎么保护银行卡)

    支付保护中心怎么关闭(支付保护中心怎么保护银行卡)

  • 笔记本摔了一下会坏吗(笔记本摔了一下会内伤吗)

    笔记本摔了一下会坏吗(笔记本摔了一下会内伤吗)

  • 小米10有红外遥控吗(小米10红外遥控失灵)

    小米10有红外遥控吗(小米10红外遥控失灵)

  • main menu是什么基带(menu表示什么)

    main menu是什么基带(menu表示什么)

  • 14寸笔记本长宽(14寸笔记本长宽是多少厘米四大才女)

    14寸笔记本长宽(14寸笔记本长宽是多少厘米四大才女)

  • excel怎么设置字体大小(excel怎么设置字体随格式自动大小)

    excel怎么设置字体大小(excel怎么设置字体随格式自动大小)

  • 打印机纸吸不上去(打印机纸吸不进去)

    打印机纸吸不上去(打印机纸吸不进去)

  • 电话卡注销了还能查到个人信息么(电话卡注销了还能恢复吗)

    电话卡注销了还能查到个人信息么(电话卡注销了还能恢复吗)

  • 快充充电器为什么突然不能快充了(快充充电器为什么变成普通充了)

    快充充电器为什么突然不能快充了(快充充电器为什么变成普通充了)

  • apple pencil电量能用多久(apple pencil 电量可以用多久)

    apple pencil电量能用多久(apple pencil 电量可以用多久)

  • 手机开了数据连接不能上网(手机开了数据连接不能上网是什么原因?)

    手机开了数据连接不能上网(手机开了数据连接不能上网是什么原因?)

  • 为啥抖音号搜不出来(为啥抖音号搜不到别人发的视频)

    为啥抖音号搜不出来(为啥抖音号搜不到别人发的视频)

  • 什么是人工智能的核心(什么是人工智能技术)

    什么是人工智能的核心(什么是人工智能技术)

  • 语音备忘录可以录多长时间(语音备忘录可以电话录音吗)

    语音备忘录可以录多长时间(语音备忘录可以电话录音吗)

  • mate30pro怎么打开DC调光(mate30pro怎么打开小艺)

    mate30pro怎么打开DC调光(mate30pro怎么打开小艺)

  • 数据收集的方法(数据收集的方法只有一种)

    数据收集的方法(数据收集的方法只有一种)

  • switch出厂带贴膜吗(switch出厂带膜吗)

    switch出厂带贴膜吗(switch出厂带膜吗)

  • 视频加密怎么破解(视频加密软件怎么解密)

    视频加密怎么破解(视频加密软件怎么解密)

  • 华为手机屏幕上有个白圈怎么去除(华为手机屏幕上有个圆圈怎么去掉)

    华为手机屏幕上有个白圈怎么去除(华为手机屏幕上有个圆圈怎么去掉)

  • 如何在微信朋友圈里发信息(如何在微信朋友圈设置地址)

    如何在微信朋友圈里发信息(如何在微信朋友圈设置地址)

  • qq币怎么赠送(qq币怎么转赠)

    qq币怎么赠送(qq币怎么转赠)

  • 苹果xs双卡双待吗(苹果xsmax怎么设置双卡双待)

    苹果xs双卡双待吗(苹果xsmax怎么设置双卡双待)

  • 手机从哪看淘金币过期(手机淘宝怎么看淘金币)

    手机从哪看淘金币过期(手机淘宝怎么看淘金币)

  • 亲情账户能看到什么(亲情账户能看到行程码吗)

    亲情账户能看到什么(亲情账户能看到行程码吗)

  • 【翻译】图解Stable Diffusion(sta翻译中文)

    【翻译】图解Stable Diffusion(sta翻译中文)

  • 所得税退税账务处理
  • 核销 坏账
  • 幼儿园账务处理及报税
  • 核定征收企业所得税应税所得率
  • 调研费用怎么写
  • 招标代理服务费由谁支付
  • 党费奖励需要交个税吗
  • 代缴五险一金自己还需要缴纳吗
  • 物流辅助服务属于什么费用
  • 车辆购置税账务怎么处理流程
  • 技术成果投资入股企业所得税递延纳税备案表
  • 无偿赠送他人货物交增值税吗
  • 新个税劳务费税率怎么算
  • 销售折扣怎么开
  • 计提工资和应付职工薪酬怎么不一样
  • 工资扣款的规定
  • 出口押汇与打包押汇区别
  • 有留抵税额会计分录
  • 绿化养护按什么项目交增值税
  • 投资收益所得税表怎么填
  • 个人所得税的申报税额是什么意思
  • 一个项目可以有几个单位工程
  • 应收账款坏账处理审计
  • 发票冲红还需要作废吗
  • 支票作废了需要什么材料
  • 公司对外汇款需要什么手续
  • 无法偿还的应付款项予以转账
  • 未开票收入可以不开票吗
  • 技术服务费如何收取
  • 职工教育经费不提可以吗
  • 为离职员工代缴社保 论
  • 植物租赁方案
  • 外购无形资产发生的交易费用
  • linux killall
  • PHP:preg_replace_callback()的用法_PCRE正则函数
  • vue中使用gojs
  • 微软即将终止当前系统版本
  • Vue3 入门笔记 ---- 利用Element Plus对页面进行布局划分以及实现左侧公共菜单
  • phpeach函数
  • 无法支付的货款如何处理
  • php获取路径和目录的方法
  • Delete `␍` 最简单最有效的解决方法和解释(VScode)
  • 通行费电子发票抵扣填写到附表二的第几栏次
  • 母公司的资质怎样才能转给子公司
  • 怎么计算多个表格的某一数据
  • 套期保值和套期图利
  • 资产负债表坏账准备计入哪里科目
  • 个体工商户怎么变更法人
  • 收到的现金折扣
  • 未达账项审计调账怎么办
  • 公司收到拆迁补偿金,于评估公司的区别
  • 房地产企业的业务范围
  • 税费的审计
  • 计提本月工资社保怎么扣
  • 管理不善造成的存货盘亏损失计入什么科目
  • 应收账款周转率计算公式
  • 工会经费征收项目是什么
  • 如何远程连接小米摄像头
  • Centos下Mysql安装图文教程
  • win8创建新用户
  • win102020h2版本
  • windows8装 .NET 3.5 时出现0x800F081F错误解决方法
  • Metaio in Unity3d 教程--- 四:再谈谈图片扫描之tracking配置文件
  • unity进阶之路
  • js原生实现ajax
  • node.js常用命令
  • jquery获取鼠标位置
  • Node.js中的核心模块包括哪些内容?
  • node+express+ejs制作简单页面上手指南
  • js控制display属性
  • javascriptj
  • python3.7 pip
  • android 显示图片
  • javascript原型
  • 第三届一带一国际高峰论坛
  • 企业医院和事业医院的区别
  • 陕西电子税务局官网
  • 岗位回避什么意思
  • 葫芦岛市税务局电话
  • 汉中税务大厅电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设