位置: 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作图)

  • 推广策划应注意五点(策划推广活动的思路步骤)

    推广策划应注意五点(策划推广活动的思路步骤)

  • 新品商业化的三条关键原则:定价比产品更重要(在商业化阶段,将新产品推向市场一定要进行试销吗)

    新品商业化的三条关键原则:定价比产品更重要(在商业化阶段,将新产品推向市场一定要进行试销吗)

  • 抖音陌生人消息怎么没有了(抖音陌生人消息怎么设置提醒)

    抖音陌生人消息怎么没有了(抖音陌生人消息怎么设置提醒)

  • iphone贴纸怎么用(苹果贴纸的用法)

    iphone贴纸怎么用(苹果贴纸的用法)

  • 虎牙蓝管有什么权限(虎牙蓝管有什么用)

    虎牙蓝管有什么权限(虎牙蓝管有什么用)

  • mate30要不要贴膜

    mate30要不要贴膜

  • 手机面部识别用照片可以吗(手机面部识别用人的照片)

    手机面部识别用照片可以吗(手机面部识别用人的照片)

  • 苹果手机怎么下载钉钉(苹果手机怎么下安卓软件)

    苹果手机怎么下载钉钉(苹果手机怎么下安卓软件)

  • 抖音拒绝私聊怎么设置(抖音拒绝私聊怎么说)

    抖音拒绝私聊怎么设置(抖音拒绝私聊怎么说)

  • 为什么看看手机就热了(为什么看看手机就睡着了)

    为什么看看手机就热了(为什么看看手机就睡着了)

  • word人民币符号怎么打(word人民币符号电脑怎么打)

    word人民币符号怎么打(word人民币符号电脑怎么打)

  • 南孚电池发烫怎么处理(南孚电池发烫会不会爆炸)

    南孚电池发烫怎么处理(南孚电池发烫会不会爆炸)

  • 淘宝是什么模式(淘宝是什么模式电商平台)

    淘宝是什么模式(淘宝是什么模式电商平台)

  • 共享联系人是什么意思(共享联系人是怎么回事)

    共享联系人是什么意思(共享联系人是怎么回事)

  • 手机wps云文档在哪打开(手机wps的云文档在哪里)

    手机wps云文档在哪打开(手机wps的云文档在哪里)

  • win7投影快捷键是什么(windows7快速打开投影管理窗口)

    win7投影快捷键是什么(windows7快速打开投影管理窗口)

  • iphone7都有多大内存(iphone7有多长多宽)

    iphone7都有多大内存(iphone7有多长多宽)

  • vue视频怎么放大字体(vue视频放大时怎么进行操作)

    vue视频怎么放大字体(vue视频放大时怎么进行操作)

  • 滴滴顺风车限制人数吗(滴滴顺风车限制车龄吗)

    滴滴顺风车限制人数吗(滴滴顺风车限制车龄吗)

  • 荣耀10青春版隐私模式怎么开(荣耀10青春版隐藏空间找不到入口了)

    荣耀10青春版隐私模式怎么开(荣耀10青春版隐藏空间找不到入口了)

  • 抖音里面拍大头的那个道具在哪里(抖音里面拍大头怎么拍)

    抖音里面拍大头的那个道具在哪里(抖音里面拍大头怎么拍)

  • etc重新安装移动后如何重新激活(etc重新安装移动后如何重新激活收费吗)

    etc重新安装移动后如何重新激活(etc重新安装移动后如何重新激活收费吗)

  • 快影如何制作封面(快影怎么制作封面视频)

    快影如何制作封面(快影怎么制作封面视频)

  • 内存不能为written原因(内存不能为written影响吗)

    内存不能为written原因(内存不能为written影响吗)

  • 修改Dede默认投票代码 防止Request Error错误

    修改Dede默认投票代码 防止Request Error错误

  • 个人独资企业生活费用和经营费用混在一起的
  • 抄税是什么意思谁做的事情
  • 太阳能发电税收优惠政策
  • 自然人扣缴系统初次登录怎么设置密码
  • 支付宝理财提现到银行卡有费用吗
  • 土增税预缴是按不含税收入算
  • 个体工商户免征税额度是多少
  • 8000块电脑大概能跑多少分
  • 房租收到专票账务处理
  • 委托加工物资增值税怎么算
  • 非独立核算分公司个税怎么申报
  • 库存商品的成本核算
  • 商贸企业收到的检测费可以抵扣进项税吗
  • 公司和员工之间
  • 留抵税额注销时,会计分录
  • 承租人转租需要交税吗
  • 一般纳税人企业所得税政策最新2023税率
  • 税控盘开票流程图解2022
  • 税收思想
  • 固定资产评估费计入什么会计科目
  • 出口零税率是什么意思
  • 劳务成本月底有余额吗
  • 主营业务收入写不写明细
  • 工资 转账
  • 差额征税和差额计税
  • 筹建期间所得税
  • led电子屏税收编码
  • 园林公司采购岗位职责
  • 收到以前年度退回的企业所得税
  • 公司投资股票如何做账
  • mac怎么保存
  • php 设计模式 鸟哥
  • 最轻薄数码相机
  • 小微企业直接融资和间接融资
  • ts中如何定义一个数组
  • mediapipe objectron
  • zendframework3中文手册
  • 信用证支付方式,银行处理单据时主要关注( )
  • 企业计提养老保险分录
  • 企业收到税务退税通知书
  • 怎么解决食堂拥挤问题
  • 固定资产已提完折旧报废后如何处理
  • 项目差旅费能计入项目费用吗
  • 防暑降温费用发放标准
  • sqlserver2008数据库还原
  • 单位买理财产品怎么买
  • 定额备用金与非备用金
  • 漏扣员工年终绩效违法吗
  • 发票红冲重开是退个税吗
  • 特殊销售方式下销售额的确定
  • 土地增值税税率怎么算
  • 费用摊销怎么做分录
  • 公司注销是什么流程
  • 公司向个人借款是否合法
  • mysql根据时间查询最新一条数据
  • 电脑开机显示xp后无反应
  • u盘怎么安装驱动程序
  • 联想lenovo小新pro16 2023版
  • 忘记密码 ?
  • macbookpro鼠标触控板
  • hp是什么软件缩写
  • 服务win10
  • win8玩游戏
  • 用python加密
  • opengl绘图
  • javascript运行在什么的脚本语言
  • 深入理解新发展理念,推进供给侧结构性改革心得体会
  • shell脚本自动执行
  • js 修改 css
  • 置顶语句子
  • jquery设置定时器
  • 营改增后如何计算税金
  • 购买的环保设备未使用检察建议
  • 广州地税预约网官网
  • 陕西国家电子税务局2.0
  • 货物税费
  • 国家税务局关于印发的通知
  • 9月份公积金什么时候扣
  • 电子税局个税申报步骤
  • 1950土地改革后土地所有权
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设