1. 程式人生 > >vue測試環境新增(多環境配置)

vue測試環境新增(多環境配置)

  1. 背景
    通常我們搭建的vue-cli骨架,自帶兩個版本開發版本和生產版本。
  2. 應用場景
    公司有開發環境(dev),生產環境(prod),測試環境(test),預釋出(release)等版本;不同的環境會有不同請求api介面,我們平時寫的baseUrl這種全域性的就不是很合適啦;
  3. 在package.json裡面;新增test:XXXXX
"scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "build": "node build/build.js",
    "test": "node build/build-test.js",// here
    "build:dll": "webpack --config build/webpack.dll.conf.js"
  }
  1. 在build複製一份webpack.prod.conf.js,改名為 webpack.test.conf.js在這裡插入圖片描述

將env改成下圖
在這裡插入圖片描述

  1. 在config裡面,複製一份prod.env.js 改名為test.env.js;
    一般這裡prod.env.js,test.env.js,dev.evn.js等這裡配置自己不同環境的api介面
內容改成下面:
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./test.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"test"',
  API_URL: '"介面地址1"',
  HTTP_URL: '"介面地址2"'
})

  1. 建立一個全部變數池glob.js(位置隨意,能訪問就行)
內容:
global.API_URL = process.env.API_URL  // 訪問方才儲存的連結
global.HTTP_URL = process.env.HTTP_URL
  1. 在main.js引用就闊以啦;全域性都可以使用啦,後面請求就類似這種操作就可以了。
axios.post(global.API_URL) //他會根據你所在環境去請求介面滴
  1. 打包測試
    npm run test