vue測試環境新增(多環境配置)
阿新 • • 發佈:2018-11-30
- 背景
通常我們搭建的vue-cli骨架,自帶兩個版本開發版本和生產版本。 - 應用場景
公司有開發環境(dev),生產環境(prod),測試環境(test),預釋出(release)等版本;不同的環境會有不同請求api介面,我們平時寫的baseUrl這種全域性的就不是很合適啦; - 在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" }
- 在build複製一份webpack.prod.conf.js,改名為 webpack.test.conf.js
將env改成下圖
- 在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"' })
- 建立一個全部變數池glob.js(位置隨意,能訪問就行)
內容:
global.API_URL = process.env.API_URL // 訪問方才儲存的連結
global.HTTP_URL = process.env.HTTP_URL
- 在main.js引用就闊以啦;全域性都可以使用啦,後面請求就類似這種操作就可以了。
axios.post(global.API_URL) //他會根據你所在環境去請求介面滴
- 打包測試
npm run test