位置: IT常识 - 正文

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

发布时间:2024-01-15
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作图)

  • 华为p30录屏快捷键是什么(华为p30pro快捷录屏)

    华为p30录屏快捷键是什么(华为p30pro快捷录屏)

  • 笔记本液金多久换一次(笔记本液金多久凝固)

    笔记本液金多久换一次(笔记本液金多久凝固)

  • 淘宝直播有回放吗(盒子直播)

    淘宝直播有回放吗(盒子直播)

  • 小米回收站删除还能恢复吗(小米回收站删除的视频能找回吗)

    小米回收站删除还能恢复吗(小米回收站删除的视频能找回吗)

  • 苹果11怎么用nfc刷门禁(苹果11怎么用nfc刷校园卡)

    苹果11怎么用nfc刷门禁(苹果11怎么用nfc刷校园卡)

  • 手机盖板和外屏的区别(手机盖板和外屏是一个东西吗)

    手机盖板和外屏的区别(手机盖板和外屏是一个东西吗)

  • 脚本下载失败什么意思(脚本安装不了怎么办)

    脚本下载失败什么意思(脚本安装不了怎么办)

  • 群主为什么不能解散群(群主为什么不能艾特全体成员)

    群主为什么不能解散群(群主为什么不能艾特全体成员)

  • 华为mate20畅连通话怎么开(mate20pro畅连)

    华为mate20畅连通话怎么开(mate20pro畅连)

  • 苹果care是什么(苹果手机care是什么)

    苹果care是什么(苹果手机care是什么)

  • word文档删除其中一页(word文档删除其中一页空白页)

    word文档删除其中一页(word文档删除其中一页空白页)

  • powerpoint占位符指的是(ppt2010占位符)

    powerpoint占位符指的是(ppt2010占位符)

  • 苹果手表怎么单独使用(苹果手表怎么单独播放qq音乐)

    苹果手表怎么单独使用(苹果手表怎么单独播放qq音乐)

  • 采用虚拟存储器的目的(采用虚拟存储器的主要目的是什么)

    采用虚拟存储器的目的(采用虚拟存储器的主要目的是什么)

  • 小米锁屏相机怎么关闭(小米锁屏相机怎么设置在哪里)

    小米锁屏相机怎么关闭(小米锁屏相机怎么设置在哪里)

  • 荣耀9x有没有nfc功能(荣耀x50i有没有nfc功能)

    荣耀9x有没有nfc功能(荣耀x50i有没有nfc功能)

  • 拼多多签到50元提现怎么使用(拼多多签到50元能领吗)

    拼多多签到50元提现怎么使用(拼多多签到50元能领吗)

  • vivox27有红外功能吗(vivox27有红外线)

    vivox27有红外功能吗(vivox27有红外线)

  • 苹果手机在阳光下看不清屏幕怎么办(苹果手机在阳光下看不清怎么调)

    苹果手机在阳光下看不清屏幕怎么办(苹果手机在阳光下看不清怎么调)

  • MAC装Windows时键盘失灵的两种解决方法(mac安装windows不能用键盘)

    MAC装Windows时键盘失灵的两种解决方法(mac安装windows不能用键盘)

  • 如何测试网络延迟?(如何测试网络延迟)

    如何测试网络延迟?(如何测试网络延迟)

  • Mac安装软件时提示已损坏怎么办?Mac打开应用提示已损坏解决办法(mac安装软件提示身份不明)

    Mac安装软件时提示已损坏怎么办?Mac打开应用提示已损坏解决办法(mac安装软件提示身份不明)

  • 半穹顶景观点上空的银河,优胜美地国家公园,加利福尼亚州 (© Cory Marshall/Tandem Stills + Motion)(穹顶高度)

    半穹顶景观点上空的银河,优胜美地国家公园,加利福尼亚州 (© Cory Marshall/Tandem Stills + Motion)(穹顶高度)

  • 2023年印花税税率口诀
  • 增值税和附加税如何计算
  • 未入账的固定资产处理的财务处理
  • 房屋租赁和服务费发票的区别
  • 生产经营所得税怎么申报
  • 环保罚款计入什么会计科目
  • 冲减应收帐款分录
  • 公司开出增值税发票可以作为货款证据起诉
  • 黄金以旧换新工费多少钱一克
  • 产品成本计算的公式
  • 其他业务收入需要结转成本吗
  • 公司缴纳电费
  • 网上认证服务费可以全额抵扣吗
  • 个税附加扣除如何填写合适
  • 卖固定资产如何做账
  • 备用金发票冲抵
  • 医疗机构免征增值税如何申报
  • 纳税单位与免税单位共用的房屋由纳税单位全额纳税
  • 商铺土地增值税清算
  • 印花税本月计提本月缴纳
  • mac电脑command+s
  • 虚拟机怎么安装gcc
  • 利息收入的含义
  • vue实战技巧
  • php fetchall
  • 公司为员工缴纳社保的法律规定
  • 限售股是好是坏
  • oppor11s输入法怎么清除记忆
  • 安装nodemodules
  • php自定义字段
  • 移动加权平均法例题
  • 用python编写素数
  • React Hook - useEffecfa函数的使用细节详解
  • opengl 帧率
  • 征税对象的具体项目
  • 金蝶软件账套备份在哪里
  • 织梦如何使用
  • 学网新用什么电脑
  • 深入理解计算机系统
  • 查看db2状态
  • 进项税额不得抵扣的情况
  • 小规模纳税人技术维护费可以抵扣吗
  • 专票多长时间
  • 一般纳税人适用什么会计准则
  • 小规模纳税人在哪里查
  • 工会会员缴纳的医疗互助金列工会什么科目
  • 设备融资租赁如何算综合利率
  • 当月计提的工资,次月申报吗
  • 长期持股的最好方法
  • 收到红字发票如何申报增值税?
  • 加权平均净资产收益率
  • 建筑施工企业在12个月内第三次发生生产安全事故的
  • 固定资产是否可调剂
  • 商业汇票怎么算到期日
  • 工程发票可以分两次开吗
  • 为什么看科目四看不进去呀
  • 电脑bios怎么关
  • 开始菜单字体
  • dll文件在哪儿
  • 微软为什么不自己做电脑
  • launcheflc.exe什么意思
  • 怎么查显卡信息
  • 怎么设置开机启动项?
  • win7声音方案存在哪里
  • hyper-v win98
  • linux病毒排查
  • Win7系统打开IE提示“堆栈满溢”的多种解决方案
  • unity alembic
  • 图像unit8
  • unity游戏人物选择
  • win10 putty
  • js如何将输入的数存到数组中
  • jQuery 判断JSON
  • express框架的优缺点
  • jquery过滤选择器案例
  • easyui-dialog
  • javascript create
  • jquery跨域请求有哪些方式
  • android简单项目及代码
  • 德税手卷烟海淘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号