修改prod.env.js里的内容,修改后的内容如下:

  1. 'use strict'
  2. module.exports = {
  3. NODE_ENV: '"production"',
  4. EVN_CONFIG:'"prod"',
  5. API_ROOT:'"/apis/v1"'

对dev.env.js文件内容进行修改,修改后的内容如下。dev环境配制了服务代理,API_ROOT前的api是配制的代理地址。

  1. module.exports = merge(prodEnv, {
  2. NODE_ENV: '"development"',
  3. VN_CONFIG: '"dev"',
  4. API_ROOT: '"api/apis/v1"'
  5. })

对package.json文件中的scripts内容进行个性,添加上新定义的几种环境的打包过程,里的参数与前面的调协保持一致。

  1. "scripts": {
  2. "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
  3. "start": "npm run dev",
  4. "build": "node build/build.js",
  5. "build:test": "cross-env NODE_ENV=production env_config=test node build/build.js",
  6. "build:pre": "cross-env NODE_ENV=production env_config=pre node build/build.js",
  7. "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js"
  8. },

修改config/index.js文件中build参数,这里的参数会在build/webpackage.prod.conf.js中使用到

  1. build:{
  2. // Template for index.html
  3. // 添加test pre prod 三处环境的配制
  4. prodEnv: require('./prod.env'),
  5. preEnv: require('./pre.env'),
  6. testEnv: require('./test.env'),
  7. //下面为原本的内容,不需要做任何个性
  8. index:path.resolve(__dirname,'../dist/index.html'),

对build/webpackage.prod.conf.js文件进行修改,调整env常量的生成方式。

  1. // 个性env常量的定义
  2. // const env = require('../config/prod.env')
  3. const env = config.build[process.env.env_config+'Env']

删除process.env.NODE_ENV的赋值,修改spinner的定义,调整后的内容如下:

  1. 'use strict'
  2. require('./check-versions')()
  3. // 注释掉的代码
  4. // process.env.NODE_ENV = 'production'
  5. const ora = require('ora')
  6. const rm = require('rimraf')
  7. const path = require('path')
  8. const chalk = require('chalk')
  9. const webpack = require('webpack')
  10. const config = require('../config')
  11. const webpackConfig = require('./webpack.prod.conf')
  12. // 修改spinner的定义
  13. // const spinner = ora('building for production...')
  14. var spinner = ora('building for ' + process.env.NODE_ENV + ' of ' + process.env.env_config+ ' mode...' )
  15. spinner.start()
  1. // 配置API接口地址
  2. var root = process.env.API_ROOT

//baseURL: process.env.BASE_API

在main.js区分生产与开发环境

  1. process.env.NODE_ENV == 'production'; //生产环境
  2. process.env.NODE_ENV == 'development'; //开发环境

执行npm run build:test打包的就是测试环境

执行npm run build:prod打包的就是生产环境

https://www.cnblogs.com/woshidouzia/p/9345706.html vue给不同环境配置不同打包命令

https://www.cnblogs.com/moqiutao/p/8461665.html  VUE 利用webpack 给生产环境和发布环境配置不同的接口地址

vue开发环境、正式环境的配置及原理的更多相关文章

  1. VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js

    VUE开发请求本地数据的配置,早期的vue-lic下面有dev-server.js和dev-client.js两文件,请求本地数据在dev-server.js里配置,最新的vue-webpack-te ...

  2. vue开发请求本地模拟数据的配置方法(转)

    VUE开发请求本地数据的配置,早期的vue-lic下面有dev-server.js和dev-client.js两文件,请求本地数据在dev-server.js里配置,最新的vue-webpack-te ...

  3. Vue 全宇宙最浪 VSCode 配置、插件

    别人的那一堆配置.插件我就不写了- 首先进入官网下载并安装. 基本配置 在编译器 文件 >> 首选项 >> 设置,可以拷贝相面的选项后搜索相关配置 设置制表符等于空格数为 2: ...

  4. 【maven】之配置开发,测试,正式环境pom.xml文件

    在进行web程序开发,如果项目组没有使用自动化发布工具(jenkins + maven + svn + tomcat ),我们一般会使用maven的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...

  5. weex和vue开发环境配置详解(配置系统变量等等)

    本文详细讲解如何搭建weex和vue开发环境 安装java 现在java安装包,网上的安装包都是国外的,很难下载下来 就用这个链接下载,亲测无毒,http://www.wmzhe.com/soft-3 ...

  6. vue开发环境配置跨域,一步到位

    本文要实现的是:使用vue-cli搭建的项目在开发时配置跨域,上线后不做任何任何修改,接口也可以访问,前端跨域解决方案 production:产品 生产环境 development:开发 开发环境 1 ...

  7. Maven -- 在进行war打包时用正式环境的配置覆盖开发环境的配置

    我们的配置文件一般都放在  src/main/resource 目录下. 假定我们的正式环境配置放在 src/main/online-resource 目录下. 那么打成war包时,我们希望用onli ...

  8. VS Code 配置vue开发环境

    一.插件 网上搜索vscode插件的文章,动辄十几个,其实根本用不了那么多,很多插件的作用还有重叠,电脑性能还被白白浪费.这里精简为主,每一个插件都发挥它最大的作用,并尽量说明它们的作用 Vetur ...

  9. vue分别打包测试环境和正式环境

    vue打包时使用不同的环境变量 需求 同一个项目通过打包使用不同的环境变量,目前的环境有三个: 一.本地------开发环境 二.线上------测试环境 三.线上------正式环境 我们都知道vu ...

  10. vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令

    目录 1,前言 2,.env文件的作用 3,配置.env文件 4,配置启动命令 5,获取.env中的全局变量 5,实际用处 1,前言 分享一下vue项目中利用.env文件存储全局环境变量,以及利于项目 ...

随机推荐

  1. Android笔记(二十一) Android中的Adapter

    Android中有一些View是包含多个元素的,例如ListView,GridView等,为了给View的每一个元素都设置数据,就需要Adapter了. 常用的Adapter包括ArrayAdapte ...

  2. c# 调试过程

  3. Window Server 2008 概述

    Windows历史版本 Windows工作站发展历史 Windows95——>Windows98——>Windows2000——>WindowsXP——>Vista——> ...

  4. Django:ContentType组件

    一.项目背景 二.版本一 三.版本二 三.终极版(使用ContentType) 一.项目背景 luffy项目,有课程有学位课(不同的课程字段不一样),价格策略 问题:1.如何设计表结构,来表示这种规则 ...

  5. linux网络编程之socket编程(七)

    今天继续学习socket编程,北京在持续几天的雾霾天之后久违的太阳终于出来了,心情也特别特别的好,于是乎,在这美好的夜晚,该干点啥事吧,那当然就是继续坚持我的程序学习喽,闲话不多说,进入正题: 通过这 ...

  6. 第八届蓝桥杯C/C++程序设计本科B组决赛 ——瓷砖样式(填空题)【DP?我的暴力排列搜索】

    标题:磁砖样式 小明家的一面装饰墙原来是 3*10 的小方格. 现在手头有一批刚好能盖住2个小方格的长方形瓷砖. 瓷砖只有两种颜色:黄色和橙色. 小明想知道,对于这么简陋的原料,可以贴出多少种不同的花 ...

  7. JS获取当前年份月

    //获取完整的日期 var date=new Date; var year=date.getFullYear();  var month=date.getMonth()+1; month =(mont ...

  8. 多继承以及MRO顺序

    class A: def test(self): print("A --- test方法") def demo(self): print("A --- demo方法&qu ...

  9. Appium自动化测试教程-自学网-monkeyrunner API

    MonkeyRunner API MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 官方API文档 :http://www.and ...

  10. sql server 变量和select 赋值的联合使用demo

    ) ) select @cltcode=cltcode,@brand=brand from prosamplehd CREATE table #t ( cltcode ), brand ) ) INS ...