热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VueCLI(3.X)项目中实现分环境请求API

Vue脚手架升级到3后,生成的项目结构有了一些改变,最近做的一个项目用了新版的脚手架,借此,记录一下如何配置实现分环境配置请求不同的后端service地址。一、项目结构如果你的vu

Vue脚手架升级到3后,生成的项目结构有了一些改变,最近做的一个项目用了新版的脚手架,借此,记录一下如何配置实现分环境配置请求不同的后端service地址。

一、项目结构

如果你的vue-cli版本还是老版本,请先卸载原来的版本(npm uninstall vue-cli -g 或 yarn global remove vue-cli),再安装新版本(npm install -g @vue/cli 或 yarn global add @vue/cli)。

新版本生成的项目结构如下图
相比之下,少了build和config文件夹,因此配置的方式也不一样
《Vue-CLI(3.X)项目中实现分环境请求API》

二、目的

为什么要把项目进行分环境配置呢?这在实际的项目开发中是很有必要的,项目上线(production)前需要有一个经过反复测试的稳定版(verification)本,而开发者需要有另一个环境(dev)进行开发和自测,这样才不会影响到稳定的环境……(这些是我结合自己实际的项目经验总结出来的,或许大家有不同的经历)所以,在前后端分离的项目里,前端和后端都要配置不同的环境。因此,就有这一篇文章,记录一下个人的实践。

三、配置

进入正题,让我们参考官方文档愉快地配置吧~

  • package.json文件
    模式是 Vue CLI 项目中一个重要的概念。比如我们在package.json文件内写一个这样的脚本
    如果我们用命令行’npm run serve’启动项目,就表示当前项目的模式是’qa’。

《Vue-CLI(3.X)项目中实现分环境请求API》

  • .env.XX
    定义好了模式之后,怎么把它和项目环境联系在一起呢?我们需要在项目的根目录下创建名为.env.[mode]的文本文件,在这里我们创建.env.qa文件,那么当项目启动时,在这个文件里声明过的变量就会在qa模式下被载入。因此,我们可以声明当前模式下的NODE_ENV。注意:只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。除了 VUE_APP_* 变量之外,在你的应用代码中始终可用的还有两个特殊的变量:NODE_ENV & BASE_URL。
  • NODE_ENV
    我们可以通过process.env.NODE_ENV获得到在相应模式下的.env.[mode] 内配置的值;
    在html文件中,参考生成的模板代码,可以这样写↓

《Vue-CLI(3.X)项目中实现分环境请求API》

四、验证

接下来,要验证我们用命令“npm run serve”启动项目,是否能获取到对应模式下的环境配置,直接上图好了。
《Vue-CLI(3.X)项目中实现分环境请求API》
《Vue-CLI(3.X)项目中实现分环境请求API》

我们已经配置成功了,接下来调用api就要用到axios或者其他的工具,按照相应的配置方式进行配置就搞定啦(^-^)V


推荐阅读
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文详细介绍了cisco路由器IOS损坏时的恢复方法,包括进入ROMMON模式、设置IP地址、子网掩码、默认网关以及使用TFTP服务器传输IOS文件的步骤。 ... [详细]
  • 本文介绍了MVP架构模式及其在国庆技术博客中的应用。MVP架构模式是一种演变自MVC架构的新模式,其中View和Model之间的通信通过Presenter进行。相比MVC架构,MVP架构将交互逻辑放在Presenter内部,而View直接从Model中读取数据而不是通过Controller。本文还探讨了MVP架构在国庆技术博客中的具体应用。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 本文介绍了NetCore WebAPI开发的探索过程,包括新建项目、运行接口获取数据、跨平台部署等。同时还提供了客户端访问代码示例,包括Post函数、服务器post地址、api参数等。详细讲解了部署模式选择、框架依赖和独立部署的区别,以及在Windows和Linux平台上的部署方法。 ... [详细]
  • 关键词: ... [详细]
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
author-avatar
曾那么执着o的厮守
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有