react不同环境不同配置angular_前端问题集:vue配置环境-给不同的环境配不同的打包命令...

通过vue-cli脚手架构建出一个前端项目,通过npm run build打包,发布到线上,但是这样做需要每次都手动修改接口地址。我们可以通过自行配置打包命令实现无需修改接口地址,打各个环境的包。

文档结构大致如下图:

409f586ecde57794658f4479548f1318.png

1.找到config文件夹下的dev.env.js,将其修改成如下图所示:

d2b4e0f802056bae8f50202b0c2f42e3.png

注:这里BASE_API: '/api',是做了一个代理配置,主要解决跨域问题的,如果有不懂的可以看看我之前的文章前端开发问题集:遇到跨域问题怎么办,这么解决就行了

2.在config文件夹下创建一个test.env.js,在test.env.js中添加代码如下图所示:

4289158e9150c5b1a1f55eaaca3d9fa2.png

3.然后修改prod.env.js中的内容,如下图所示:

9eca1685dd11bc79a8374382e0bf5063.png

4.找到项目中设置axios基本配置的文件,将baseURL的参数配置成process.env.BASE_API,如下图所示:

367ac79ee816e8369906fd7af2e492a2.png

5.对build中webpack.prod.conf.js,找到 const env = require('../config/prod.env'),将其修改为const env = config.build[process.env.env_config+'Env']

10738d5d2c85d8d16adc46b4fb8f9324.png

6.修改config文件夹下的index.js,找到build:

7d9e07f21caa759af70dbb1a244367be.png

7.使用npm install cross-env –save-dev命令安装 cross-env

8.找到build文件夹下的build.js

e7864881a5610333ad608b37b7f62004.png

将process.env.NODE_ENV = 'production'和 const spinner = ora('building for production...')注释,并将引用了spinner的地方也一并注释。

9.修改package.json文件,修改script中内容

22d697fe1a531a92674f8d7f04ddc637.png

添加"test": "cross-env NODE_ENV=test env_config=test node build/build.js"

修改build, 改为"build": "cross-env NODE_ENV=production env_config=production node build/build.js"

测试环境打包命令: npm run test

正式环境打包命令: npm run build

这样就可以实现分环境打包了,修改完之后,以后再要对不同环境进行打包时,不需要每次打包都要去修改一次接口地址了,是不是很方便了呢~

如有错误,欢迎指正~

码字不易,求关注~求转发~~~

3c1433c1d2651cc7b06ef78084392c82.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序

今天用plsql连接oracle的时候报了无监听程序,寻思是plsql的问题,可惜重装了也没什么卵用,才把注意力集中到oracle服务上,啥也不说了, 直接上链接: 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序转载…

基于Element-plus封装配置化表单组件(组件的v-model实现)

一、预备知识 1.1 组件的v-model 前面我们在input中可以使用v-model来完成双向绑定: 这个时候往往会非常方便,因为v-model默认帮助我们完成了两件事;v-bind:value的数据绑定 和 input的事件监听; 如果我们现在封装了一个组件…

Scala IDE for Eclipse的下载、安装和WordCount的初步使用(本地模式和集群模式)

不多说,直接上干货! 这篇博客是, 是在Scala IDEA for Eclipse里maven创建scala和java代码编写环境。 Scala IDEA for Eclipse里用maven来创建scala和java项目代码环境(图文详解) 本博文包括: Scala IDE fo…

笔记本AutoCAD启动时闪退怎么办_戴尔笔记本电脑开不了机如何解决【解决方法】...

生活在互联时代下,我们对笔记本的需求是无处不在的,不管是上班族还是学生党,使用笔记本办公和学习给我们的生活带来很大的便捷。但使用的过程中,总有可能会遇到无法预料的问题。比方说 笔记本电脑 无法开机的问题,当…

JS高级——函数执行、作用域链内存结构图

一、JavaScript的执行过程 假如我们有下面一段代码,它在JavaScript中是如何被执行的呢? 1.1 第一步:初始化全局对象 js引擎会在执行代码之前,会在堆内存中创建一个全局对象:Global Object(GO&#xff09…

两个队列+k叉哈夫曼树 HDU 5884

1 // 两个队列k叉哈夫曼树 HDU 58842 // camp题解:3 // 题意:nn个有序序列的归并排序.每次可以选择不超过kk个序列进行合并,合并代价为这些序列的长度和.总的合并代价不能超过TT, 问kk最小是多少。4 // .5 // 题解:首先二分一下这个kk。然后在…

JS高级——内存管理和闭包

0、预备知识 0.1 认识内存管理 不管什么样的编程语言,在代码的执行过程中都是需要给它分配内存的,不同的是某些编程语言需要我们自己手动的管理内存,某些编程语言会可以自动帮助我们管理内存: 不管以什么样的方式来管理内存&…

Google-优秀移动站点设计10招

Google-优秀移动网站设计10招 1)添加一个醒目的搜索条:在移动终端上,人们希望能够快速找到自己需要的东西 2)把大表格拆分成小块:别搞一个长长的表格页面,上面包含各种输入框 3)允许用户匿名浏览…

div超出不换行_div+CSS设置一行内文字超过宽度不换行且不显示

当一行文字超过DIV或者Table的宽度的时候,浏览器中默认是让它换行显示的,如果我们不想让他换行显示那要怎么办呢?看到这个标题很容易就会想到截断文字加“...”的做法。一般的文字截断(适用于内联与块):CSS.text-overflow{display…

Angular2学习笔记——在子组件中拿到路由参数

工作中碰到的问题,特此记录一下。 Angular2中允许我们以path\:id\childPath的形式来定义路由,比如: export const appRoutes: RouterConfig [{path: app/:id, component: AppComponent,children: [{ path: share, component: AppShareCompon…

提取多个字段_【博客翻译】建筑物轮廓线提取以及损坏分类

原文链接原作者:Rohit Singh, Sandeep Kumar贡献者:Vinay Viswambharan, Divyansh Jha, Shivani Pathak, Daniel Wilson.翻译:荆雪涵在今年的 Esri 用户大会上,USAA 展示了基于 ArcGIS 深度学习能力,对 Woolsey 火灾进…

读取外部配置文件_SpringBoot外部配置、优先级及配置详解

一、外部配置及优先级SpringBoot的外部配置属性值官方给出了很多种方式,以便可以在不同的环境中使用相同的代码。其使用了非常特别的PropertySource命令,旨在允许合理的覆盖值。当然,如果属性值不同,则这些配置方式中的属性值都会…

Jquery 禁用浏览器的 后退和前进按钮

使用js,Jquery 禁用浏览器的back 和 next 按钮: 有时为了防治用户乱了访问顺序,不得不禁掉浏览器的前进后退按钮。 jQuery(document).ready(function () {if (window.history && window.history.pushState) {$(window).on(popstate, function ()…

JS数据结构与算法——冒泡排序(把大的数字依次往后放)

一、图解排序过程 注意:比较次数和交换次数之所以不一致,是因为:比较了并不一定就需要交换两个数字的位置,比如比较 1 和 2两个数字,由于 后者本身就比前者大,所以不需要交换两者的位置。 二、代码实现 三…

手机长曝光怎么设置_摄影教程丨手机如何拍摄长曝光照片,流光快门,星空银河搞起来!...

微信搜一搜定格取景框长曝光摄影可以拍摄出一些很酷的照片。这是一种非常灵活的摄影技术。它可以用来拍摄城市夜景,记录光绘,也可以拍摄水景片。甚至可以拍摄银河或捕捉星轨。其实长曝光不仅仅适合专业摄影师!任何人都可以用手机进行慢门拍摄…

三角剖分求多边形面积的交 HDU3060

1 //三角剖分求多边形面积的交 HDU30602 3 #include <iostream>4 #include <cstdio>5 #include <cstring>6 #include <stack>7 #include <queue>8 #include <cmath>9 #include <algorithm>10 using namespace std;11 12 const int m…

JS数据结构与算法——选择排序(把小的数字依次往前放)

一、图解排序过程 注意&#xff1a;选择排序一样是需要进行两两的比较&#xff0c;但比较过程中不进行交换&#xff0c;只有比较完成后&#xff0c;找到最小的那个数&#xff0c;才会进行交换&#xff0c;把它放到最前面。 二、代码实现 三、完整代码 <!DOCTYPE html> &…

插入模板_WordPress在文章列表和内容页插入广告

本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发、Nodejs、Python、Linux、IT资讯等板块.一、在文章列表插入广告文章列表模板 包括以下几个类型以及对应的主体文件:首页模板 (index.php)搜索结果页 (search.php)文章归档 (arch…

Leetcode389

Find the Difference Given two strings s and t which consist of only lowercase letters. 给出两个字符串&#xff0c;s和t&#xff0c;都是只有小写字母组成的。 String t is generated by random shuffling string s and then add one more letter at a random position. …

JS数据结构与算法——插入排序

一、图解排序过程 二、代码实现 三、完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><script>// 创建列表类function ArrayList() {//…