根据项目需要,通过vue-cli中的npm run build 打包到不同的环境,例如测试环境,预发布环境,线上环境,根据process.env分别进行接口的调用

vue-cli 中build中build.js

require('./check-versions')()

// process.env.NODE_ENV = 'production'

var ora = require('ora')
var rm = require('rimraf')
var path = require('path')
var chalk = require('chalk')
var webpack = require('webpack')
var config = require('../config')
var webpackConfig = require('./webpack.prod.conf') var spinner = ora('building for ' + process.env.NODE_ENV + ' of ' + process.env.env_config+ ' mode...' )
spinner.start()
// var spinner = ora('building for production...')
// spinner.start()

build中webpack.prod.conf.js

const env = config.build[process.env.env_config+'Env']
// const env = process.env.NODE_ENV === 'testing'
// ? require('../config/test.env')
// : require('../config/prod.env')

config中的index.js 

module.exports = {
build: {
prodEnv: require('./prod.env'), // 线上环境
sitEnv: require('./sit.env'), // 测试环境
ppeEnv: require('./ppe.env'), // 预发布环境
……

config中 dev.env.js 
开发环境用的是测试接口,通过merge进行拷贝

var merge = require('webpack-merge')
var sitEnv = require('./sit.env') module.exports = merge(sitEnv, {
NODE_ENV: '"development"'
})

在config中新建sit.env.js、ppe.env.js

module.exports = {
NODE_ENV: '"sitEnvironment"',
ENV_CONFIG: '"sit"',
BASE_API: '"http://*****"' // 测试环境地址
}
module.exports = {
NODE_ENV: '"ppeEnvironment"',
ENV_CONFIG: '"ppe"',
BASE_API: '"http://******"' // 预发布环境地址
}

安装cross-env

npm install cross-env -D

package.json

 "scripts": {
   "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",
"build:ppe": "cross-env NODE_ENV=ppeEnvironment env_config=ppe node build/build.js",
"build:sit": "cross-env NODE_ENV=sitEnvironment env_config=sit node build/build.js",
   "lint": "eslint --ext .js,.vue src","test": "npm run lint"
},

打包时候我们只需要

npm run build:sit // 测试环境
npm run build:ppe // 预发布环境
npm run build:prod // 线上环境

vue-cli 根据不同的环境打包的更多相关文章

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

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

  2. vue cli2.x配置多环境打包

    一.安装 npm install --save-dev cross-env 二.配置步骤 1.修改config下的文件 //test.env.js 'use strict' module.export ...

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

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

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

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

  5. axios踩坑记录+拦截器使用+vue cli代理跨域proxy+webpack打包部署到服务器

    1.小小的提一下vue cli脚手架前端调后端数据接口时候的本地代理跨域问题,如我在本地localhost访问接口http://40.00.100.100:3002/是要跨域的,相当于浏览器设置了一道 ...

  6. vue cli 3 打包过大问题

    vue cli 3 打包命令 npm run build,这种情况下的打包可以通过设置 vue.config.js里面的 productionSourceMap: false. 如果是自己设置的打包环 ...

  7. 使用@vue/cli搭建vue项目开发环境

    当前系统版本 mac OS 10.14.2 1.安装node.js开发环境 前端开发框架和环境都是需要 Node.js  vue的运行是要依赖于node的npm的管理工具来实现 <mac OS ...

  8. vue 多环境打包

    https://cli.vuejs.org/zh/guide/mode-and-env.html#%E6%A8%A1%E5%BC%8F 模式 模式是 Vue CLI 项目中一个重要的概念.默认情况下, ...

  9. vue cli 打包项目造成css背景图路径错误

    vue cli做项目的时候难免会碰到,css引用背景图或者css,js之间的相互引用!!!这时候打包后可能会出现一个错误!!如下图: 写法: 错误: 会无端多出一个“/css/static/” 这样就 ...

  10. 前端自动分环境打包(vue和ant design)

    现实中的问题:有时候版本上线的时候,打包时忘记切换环境,将测试包推上正式服务器,那你就会被批了. 期望:在写打包的命令行的时候就觉得自己在打包正式版本,避免推包时候的,不确信自己的包是否正确. 既然有 ...

随机推荐

  1. angular建立服务打印日志创建全局变量方法有两种,手工创建,依赖注入

  2. 行为型模式 - 命令模式Command

    模式的定义与特点 命令模式(Command Pattern),是将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化.命令模式是把发出命令的责任和执行命令的责任分割开,委派给不同的对象. ...

  3. OPA-CH32x系列芯片OPA使用注意事项

    1 OPA运放基本功能说明 1.1 OPA引脚详细说明方式 说明方式1如下所示: OPN0.OPP0.OPO为OPA的第0通道 OPN0:OPA_0通道的N端 OPP0:OPA_0通道的P端 OPO: ...

  4. 定时任务,LocalDateTime,在代码中调用其他项目的接口url

    1.定时任务 1.在类上添加注解 @Component @Configuration @EnableScheduling 2.在类中方法上添加注解 @Scheduled(cron = "0 ...

  5. ubuntu apt 安装最新版 nodejs

    使用最新版本, 当前是 16.x 的版本. 这里我使用了 LTS 版本. curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E ...

  6. vscode安装教程(含插件配置)

    1.下载 下载地址:Download Visual Studio Code VS code,全称Visual Studio Code,是Microsoft(微软)在2015年4月30日发布的,编写现代 ...

  7. WAF Bypass 介绍与实战

    前言 WAF是英文"Web Application Firewall"的缩写,中文意思是"Web应用防火墙",也称为"网站应用级入侵防御系统" ...

  8. JZOJ 4318. 【NOIP2015模拟11.5】俄罗斯套娃

    题目大意 求逆序对个数小于等于 \(k\) 的排列数 解析 已经做过很多次了,经典得不能再经典的问题 注意本题很卡空间,要用滚动数组 \(Code\) #include<cstdio> u ...

  9. https://lamp.sh/

    转载:LAMP一键安装包 LAMP一键安装包

  10. 钓鱼攻击之:Flash 网页钓鱼

    钓鱼攻击之:Flash 网页钓鱼 目录 钓鱼攻击之:Flash 网页钓鱼 1 准备资料 2 具体钓鱼流程 3 生成后门并捆绑flash的安装程序 4 处理WEB站点过程 1 准备资料 Flash网站克 ...