vue cli3没有了和之前vue cli2一样的配置文件,
但项目中 经常会有测试环境和生产环境,经常不同环境的域名是不一致的,因为build构建打包时,process.env.NODE_ENV默认是production的生产环境,所以我们每次build都去手动更改请求域名,很麻烦。。。
但我们又不能直接去更改process.env.NODE_ENV等于test来区分是测试环境,这样打包出来的包结构和production打包出来的是不一样的。如图:

这个才是正常的:

解决:
在根目录下创建两个.env的文件,.env.build是生产环境,.env.test是测试环境,两个文件的【NODE_ENV】都= ‘production’
用另一个变量【VUE_APP_CURRENTMODE】 来区分环境
VUE_APP_CURRENTMODE = ‘test’
VUE_APP_CURRENTMODE = ‘production’




域名根据变量【VUE_APP_CURRENTMODE】 来区分:

然后再package.json里面配置运行脚本:“build”: “vue-cli-service build --no-clean --mode build && vue-cli-service build --mode test”


可同时打包生成dist和test两个构建文件的目录
注:
生成test目录需要再vue.config.js里面配置【outputDir】:

–no-clean:
当运行 vue-cli-service build 时生成的生产环境构建文件的目录。注意目标目录在构建之前会被清除 (构建时传入 --no-clean 可关闭该行为)。

vue cli3 打包build 区分测试环境和正式环境相关推荐

  1. vue cli3 一键 build 区分测试环境和正式环境

    vue cli3 打包 build 区分测试环境和正式环境 通过自定义环境变量文件进行配置 思路: 默认情况下,执行 npm run serve 会以 development 的模式启动 执行 npm ...

  2. vue开发环境、正式环境的配置及原理

    一.生产环境及正式环境的配置(为了更好地理解,我把起始项目中的代码也进行了展示) congif > dev.env.js:开发环境 congif > prod.env.js:正式(生产)环 ...

  3. Vue启动项目如何区分启动的是开发环境、测试环境、生产环境

    1. vue 中有个概念就是模式,Vue CLI 项目有三个模式: development 模式用于 vue-cli-service serve test 模式用于 vue-cli-service t ...

  4. 如何优雅的区分测试版本和正式版本的环境

    小明一个刚入行安卓的小萌新,刚刚在测试小姐姐那里交过学费(挨过骂)了解到软件开发过程中是需要区分正式.测试环境的.但是他稍加思考就能想到测试.正式环境的区别仅仅是host不一样而已,其他的比如接口名. ...

  5. vue cli3打包后出现.map文件

    vue 脚手架3在打包的时候默认会生成.map文件.用于详细报错,但生产环境是没必要的.所以生产环境关闭,开发环境打开是最好的选择 百度和博客搜了一圈,无非就是告诉你怎么配置config,但是实测并没 ...

  6. Spring Boot Spring Cloud 区分 开发环境 测试环境 预发布环境(灰度环境) 正式环境

    各环境的区别 开发环境(dev):开发的时候用的环境 测试环境(test):日常测试或者是上线前测试. 预发布环境(灰度环境)(pre):发布前的最后调试,数据源与正式环境一致. 正式环境(prod) ...

  7. 设置PHP的环境变量,区分PHP的测试环境和正式环境【php】

    一,查看环境变量 1,查看 env  查看全局环境变量 set  查看所有环境变量 echo $SHLVL  查看单个环境变量 unset name  删除环境变量 针对本次会话有效 2,设置 设置环 ...

  8. vue android 4.4兼容,vue cli3 打包兼容Android 4.4

    已在Android4.4上跑通 未能兼容ios9, 会报一个type error, 但是又没有其他任何信息, 垃圾ios.... 在vue.config.js中配置相关依赖进行转换 一般把第三方库加进 ...

  9. vue3.0生产环境和正式环境配置_vue开发环境和生产环境配置

    开发环境配置 一般情况下开发环境是会跨域的,所以我们只需要在跨域的位置配置即可.进入config/index.js,在proxyTable对象里面添加代码,如下: '/api': { target: ...

最新文章

  1. KEGG功能注释工具 KofamKOALA 安装与使用
  2. Json数据发布到Tomcat本地服务器
  3. DELAY INIT 延迟初始化
  4. 机房中铅酸蓄电池的性能参数及优缺点
  5. Dubbo 迈出云原生重要一步 - 应用级服务发现解析
  6. java 图片导出_java导出含图片的word
  7. linux mysql 文件恢复_linux下误删数据文件恢复
  8. 在GridView开头插入自动编号的方法
  9. 标签蛋白_His标签蛋白镍柱纯化后总有一条杂带怎么办?
  10. 视频通信原理——NAT介绍
  11. leetcode article
  12. CSS文本溢出的处理方法总结
  13. AI队列长度检测:使用Keras进行对象检测
  14. java 任务_Java-定时任务
  15. Filecoin官方提案FIP0013 添加批量提交ProveCommitSector以减少拥塞
  16. jQuery 插件 autocomplete 的使用
  17. .NET 调用外部exe程序,出现已停止工作
  18. php权限无需验证的控制器,Thinkphp6用中间件实现多个控制器判断用户登录权限
  19. 总结:Oracle 递归查询
  20. 彻底卸载McAfee Agent

热门文章

  1. c语言强制退出for循环,在vb中用于强制退出for循环的语句是什么。
  2. 深度学习卷积神经网络学习小结2
  3. 网易架构师深入讲解Android开发!阿里P7Android社招面试的经历,架构师必备技能
  4. 成功安装CUDA 10.0 和Cudnn 7.4.1
  5. Centos7查看外网IP地址
  6. android中停止服务,在Android中停止服务
  7. 2020-5-13产品经理课程笔记-笔面试技巧
  8. Chrome/Edge/Firefox浏览器离线安装包下载地址总汇
  9. 钓鱼网站Permit 离线签名之实战案例和原理讲解
  10. 自适应网页设计的几条规则