vue-cli版本是2.0左右的就会有webpack的config目录
vue-cli版本是3.0以上的就会有vue.config.js没有config目录

  • 我们先来看第一种怎么配置(有webpack的config目录)
    目录:
    配置:这里一共展示dev环境和生产环境,其他环境在config目录类似添加

需要下载cross-env

npm install --save-dev cross-env

警告!确保在安装软件包时可以正确拼写,以免错误安装恶意软件

注意:cross-env的版本6仅支持Node.js 8和更高版本,才能在Node.js 7或更低版​​本的安装版本5上使用npm
install --save-dev cross-env@5

使用(举例)

{"scripts": {"build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"}
}

第一步: config目录=》index.js

  dev: {assetsSubDirectory: 'static',assetsPublicPath: '/',proxyTable: {   [process.env.API_ROOT]: {   // target: `http://xxx:8888`,  // 当设置process.env.API_ROOT之后。target就没用了他会自动识别你登录的是dev还是prod环境,从而自己切换域名changeOrigin: true,pathRewrite: {['^' + process.env.API_ROOT]: ''}}},

第二步:config目录=》dev.env.js

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')module.exports = merge(prodEnv, {NODE_ENV: '"development"',ENV_CONFIG: '"dev"',API_ROOT:'http://xxx.con'//这里是dev环境的域名配置
})

第三步:config目录=》dev.env.js

'use strict'
module.exports = {NODE_ENV: '"production"',ENV_CONFIG: '"prod"',API_ROOT:'http://xxx.com'  // 生产环境}

第四步build目录=》webpack.prod.conf.js

//const env = require('../config/prod.env')  注释这一行改为下面一行
const env = require('../config/' + process.env.env_config + '.env')

第五步在你封装axios时,需要进行配置

// 获取当前你使用到的所有环境,通过对env判断拿到对应的API_ROOT
const proEnv = require("../../config/prod.env");
const devEnv = require("../../config/dev.env");
const env = process.env.NODE_ENV;
let target = "";
if (env === "production") {target = proEnv.API_ROOT;
} else {target = devEnv.API_ROOT;
}
// 创建axios实例
const service = axios.create({// axios中请求配置有baseURL选项,表示请求URL公共部分baseURL: target,// baseURL: 'http://xxx.com',// 超时timeout: 60000
})

第六步:打包?? package.json

在dev下面添加:

 "build:dev": "cross-env NODE_ENV=development env_config=dev node build/build.js","build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",

注意NODE_ENV以及env_config配置的时候一定要对应清楚,名字不能马虎

打包自由切换

打包生产:npm run build:prod
打包dev: npm run build:dev

-第二种情况 ( 有vue.config.js)这里vue.config如果没有也是可以自己创建的

第一步,创建需要的环境文件,这里有五种环境

内容:(每个文件内容是相同的只是env与VUE_APP_BASE_API设置的不一样)

# 页面标题
VUE_APP_TITLE = xxx# 生产环境配置
ENV = 'production'# 案件管理系统/生产环境
VUE_APP_BASE_API = 'http://xxx.com'

这里其他就不介绍了与上面是雷同的
第二步vue.config.js

 devServer: {host: '0.0.0.0',port: port,open: true,proxy: {[process.env.VUE_APP_BASE_API]: {//target: `http://xxx:8080`, // 同样是没有影响的changeOrigin: true,pathRewrite: {['^' + process.env.VUE_APP_BASE_API]: ''}}},},

第三步

const service = axios.create({// axios中请求配置有baseURL选项,表示请求URL公共部分baseURL: process.env.VUE_APP_BASE_API,  // 直接获取环境地址自由切换// 超时timeout: 60000
})

第四步

"scripts": {"dev": "vue-cli-service serve","build:dev": "vue-cli-service build --mode dev","build:prev": "vue-cli-service build --mode prev","build:prod": "vue-cli-service build","build:test": "vue-cli-service build --mode test","preview": "node build/index.js --preview","lint": "eslint --ext .js,.vue src"},

打包自由切换:其他类似

打包生产:npm run build:prod
打包dev: npm run build:dev
打包test: npm run build:test

vue配置各种环境-环境切换问题-打包自由切换相关推荐

  1. Vue 配置使用 externals 使用cdn减小打包体积 (前端优化)

    Vue 配置使用 externals 使用cdn减小打包体积 在 vue.config.js 中 书写配置 // 引入webpackconst webpack = require('webpack') ...

  2. vue配置多个跨域+下载打包

    本地项目需要下载阿里云上的文件,而且需要前端下载后打包1.配置多个代理 devServer: {host: '0.0.0.0',port: port,proxy: {[process.env.VUE_ ...

  3. 如何做到在虚拟数据库和真实数据库之间自由切换?【低调赠送:QQ高仿版GG 4.4 最新源码】...

    记得以前在公司上班时,有时候白天的活没干完,我就会把工作带回家晚上加班继续做.但是,我们开发用的数据库是部署在公司局网内部的一台服务器上的,在家里是肯定连不上这台机器的.在家里没有数据库,服务端就跑不 ...

  4. 开发vue用什么ide_VUE项目开发前期需要准备和配置些什么环境?

    VUE项目开发前期需要准备和配置些什么环境? Node环境 下载:https://nodejs.org/en/,安装在G盘 npm包管理工具(package manager)自动安装完成. 使用npm ...

  5. vue配置开发、测试、生产环境(proxy中获取process.env.NODE_ENV)

    先是看了这个文章写的如何npm run build 的时候自动配置地址 参考文章"vue配置开发.测试.生产环境(不同环境,不同命令)_Amy_cloud的博客-CSDN博客_vue生产环境 ...

  6. Vue.config.js开发环境与生产环境配置

    Vue.config.js开发环境与生产环境配置 首先在项目根目录创建 .env.development 开发环境 .env.production 生产环境 VUE_APP_SERVICE_URL V ...

  7. 基于node.js开发环境下创建及开发vue.js项目的环境配置骤

    基于node.js开发环境下创建开发vue.js项目的环境配置骤如下: 步骤一:安装node.js,安装完后运行node -v命令检安装node的查版本,判断是否安装成功.Npm是node.js包管理 ...

  8. Vue安装过程及环境配置

    Vue安装过程及环境配置 本节内容服务于SpringBoot + Vue 搭建 JavaWeb 增删改查项目. 通过WIN+R输入CMD打开命令行(必须是以管理员身份运行),输入: npm confi ...

  9. 深圳Java培训学习:SpringBoot的yml配置及多环境切换【千锋】

    深圳Java培训学习:SpringBoot的yml配置及多环境切换[千锋] 1,配置风格 从application.properties转换到application.yml 并不改变功能效果,只是改变 ...

最新文章

  1. yolo类检测算法解析——yolo v3
  2. 章节七、4-Sets
  3. jvm性能调优实战 - 24模拟因动态年龄判断对象进入老年代的场景
  4. AI 质检学习报告——实践篇——第二步:实现图片识字
  5. 不知所措:您是否真的需要为您的API提供客户端库?
  6. 安卓app开发工具_怎么开发app软件需要多少钱?主流app开发工具盘点
  7. 主成分分析法案例_因子分析案例及操作解析
  8. 浅谈 voip 未來企業通信
  9. [新功能]文章预览功能
  10. 15款5号电池横评,小米、南孚电池评测,充电电池评测,小米性价比最高。耐时容量高续航长,充电电池适用高耗电量产品
  11. 3D到2D的转换方式
  12. 什么是透视变形的opencv和python
  13. freeswitch命令一览表
  14. 课程设计实验--火车票座位分配
  15. Linux工作中必知必会的命令总结
  16. Linux系统连接校园网指南(JLU)
  17. 一个BUG导致3000万损失!涉及资金交易的功能该如何做好测试和项目管理
  18. VS2017 打包exe,msi文件
  19. 拓扑排序- 基本思路
  20. 工作中使用到的单词(软件开发)_2021-12-26_备份

热门文章

  1. 16个网络安全常用的练习靶场(小白必备)
  2. Jacobi迭代求矩阵特征值和特征向量+C代码
  3. 用友软件显示系统加密服务器,用友云主机指向加密服务器
  4. Python简单的音乐播放器1
  5. 34岁!100天!学会Java编程(Day12)——知识点串连
  6. 工业互联网|从边缘智能迈向边缘自治
  7. 4米乘以12米CAD图_简单四步,教你如何绘制好施工现场总平面布置图
  8. 《ROS机器人程序设计》期中测评试卷 (ROS2)
  9. 三星SAMSUNG SL-M2676N 驱动
  10. redis篇-基础与应用篇(上)