一、安装

npm install --save-dev cross-env

二、配置步骤

1、修改config下的文件

//test.env.js

'use strict'
module.exports = {
NODE_ENV: '"testing"',
ENV_CONFIG: '"test"',
BASE_API:'"http://10.20.2.177:12120/api"'
}

//prod.env.js

'use strict'
module.exports = {
NODE_ENV: '"production"',
ENV_CONFIG: '"prod"',
BASE_API:'"http://10.20.2.177:12121/api"'
}

//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"',
BASE_API:'"http://10.20.2.177:12120/api"'
})

//config/index.js文件修改, build中添加prodEnv, testEnv, devEnv

...
build: {
prodEnv: require('./prod.env'),
testEnv: require('./test.env'),
devEnv: require('./dev.env'),
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
...

2、修改build/build.js文件,打包的时候可以显示环境

const spinner = ora('正在打包... ' + process.env.ENV_CONFIG + '环境')

3、配置package.json文件,配置打包命令

 "build--dev": "cross-env NODE_ENV=dev ENV_CONFIG=dev node build/build.js",
"build--test": "cross-env NODE_ENV=testing ENV_CONFIG=test node build/build.js",
"build--prod": "cross-env NODE_ENV=production ENV_CONFIG=prod node build/build.js"

4、运行命令就可以实现分环境打包了

npm run build--dev
npm run build--test
npm run build--prod

最后,项目中使用axio根据不同环境配置不同的请求接口地址,就可以实现打包不同环境,调用不同环境地址接口。

可打印process.env.NODE_ENV查看。

配置完成之后发现一个问题,就是以往的项目运行npm run dev会自动打开默认的浏览器,但这一次自己配置并没有。

解决方法:修改config/index.js

autoOpenBrowser: true,  //是否默认打开浏览器,默认是false,改为true即可

vue cli2.x配置多环境打包的更多相关文章

  1. angular8 配置 测试环境打包指令 生成测试环境包指令

    1.angular.json 文件中在architect 下添加 buildTest指令 距离位置 projects => (你的项目名称) => architect 下和 build 指 ...

  2. Vue+webpack项目的多环境打包配置

    背景:由于需要将应用部署到线上开发环境.线上测试环境.线上预发环境.线上生产环境,而每个环境的访问地址是不同的.如果每次更改请求地址未免有些繁琐,就考虑在本地进行一次性配置. 代码管理工具:git 代 ...

  3. 基于Vue + webpack + Vue-cli 实现分环境打包项目

    需求由来:我公司项目上线发布至服务器分为三个环境分别为测试环境.预发布环境.生产环境:前期做法是项目通过脚步打包时由脚步把域名和后缀名之类的全部替换成要发布的环境所需要的,因为我公司的项目比较大由许许 ...

  4. vue 动态ip配置,避免重复打包

    目前比较流行的打包大都是在vue.config.js配置代理,然后在根目录新建.env.xxx文件配置正式环境,测试环境,开发环境等用于打包时配置不同的访问地址,作为一名随波逐流的前端开发,我也是这么 ...

  5. Vue项目根据不同运行环境打包项目

    前提 项目是直接通过 vue-cli脚手架 生成的: 假设在项目开发中,分为三个环境 -- · 测试环境· 预生产环境· 生产环境 每个环境的接口地址都是不同的,而 vue-cli 给出的环境只有 d ...

  6. vue config.js配置生产环境和发布环境不同的接口地址问题

    第一步,分别设置不同的接口地址 首先,我们分别找到下面的文件: /config/dev.env.js /config/prod.env.js 其实,这两个文件就是针对生产环境和发布环境设置不同参数的文 ...

  7. spring-boot分环境打包为tar包

    1.pom配置 <!-- 多环境打包 start --> <profiles> <!-- 开发环境配置 --> <profile> <id> ...

  8. spring-boot分环境打包为war包

    1.启动类修改 @EnableSwagger2 @SpringBootApplication public class CustWebAcApplication extends SpringBootS ...

  9. spring-boot分环境打包为jar包

    1.pom配置 <!-- 多环境打包 start --> <profiles> <!-- 开发环境配置 --> <profile> <id> ...

随机推荐

  1. gulp+sass+react前端开发,环境搭建

    由于前端技术的发展与市场需求的提高,前端开发已经不仅仅是写几个页面那么简单.如何有效的开发.管理一个越来越庞大.越来越复杂的前端项目,成为互联网团队必须要面对的难题. 各种js库.ui库曾经火极一时. ...

  2. ARM TK1 安装ROS- indigo

    之前安装不成功是因为校园网无法访问源的问题. Ubuntu ARM install of ROS Indigo There are currently builds of ROS for Ubuntu ...

  3. rest framework之APIView

    一.rest framework配置 1.安装rest framework 在django环境中安装rest-framework框架: (automatic) C:\Users\Administrat ...

  4. 项目到上传Gitee

    1.码云上创建一个项目 testgit (名字随你) 2.本地创建一个文件夹D:/testgit,然后使用git bash 3.cd 到本地文件夹中D:/testgit, 4.使用 git init ...

  5. Java——单例模式初步

    1.7 单例模式初步 好书推荐:java与模式 1.7.1 什么是设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构.编程风格.以及解决问题的思考方式.设计模式就像是经典的棋谱,不同的棋 ...

  6. 常用Jquery前端操作

    input只能输入正整数 onkeyup="this.value=this.value.replace(/\D/g,'')" if(!confirm("删除后无法恢复,确 ...

  7. iptables开通某些端口

    #!/bin/bash #define all variance or parameter WAH_INT="eth0" WAH_INT_IP="222.222.101. ...

  8. 高可用开源方案Heartbeat vs Keepalived

    转:http://www.kuqin.com/shuoit/20140623/340745.html 最近因为项目需要,简单的试用了两款高可用开源方案:Keepalived和Heartbeat.两者都 ...

  9. Java-Class-@I:org.springframework.stereotype.Service

    ylbtech-Java-Class-@I:org.springframework.stereotype.Service 1.返回顶部   2.返回顶部 1. package com.ylbtech. ...

  10. Java-Class-I:com.alibaba.fastjson.JSONObject

    ylbtech-Java-Class-I:com.alibaba.fastjson.JSONObject 1.返回顶部 1.1.import com.alibaba.fastjson.JSON;imp ...