項(xiàng)目開發(fā)中有三個(gè)環(huán)境,分別是測(cè)試環(huán)境,預(yù)生產(chǎn)環(huán)境,生產(chǎn)環(huán)境
如題,根據(jù)項(xiàng)目需要,目前需要打包,通過vue-cli中的npm run build 打包,這個(gè)只能打包到一個(gè)環(huán)境,但是,項(xiàng)目中有三個(gè)環(huán)境,每個(gè)環(huán)境的接口地址都不同,根據(jù)process.env分別進(jìn)行接口的調(diào)用,但是如何處理打包呢?
目前的解決方案是復(fù)制了幾個(gè),build下面的build.js ,感覺這樣并不是最優(yōu)的解決方案,
不知是否有更完美的解決方案?
感激不盡!
解決此類問題還得靠自己,大神一般都不給力
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']
// var env = process.env.NODE_ENV === 'testing' ?
// require('../config/test.env') :
// config.build.env
。。。。
config中的index.js 部分代碼修改如下
module.exports = {
build: {
prodEnv: require('./prod.env'),
sitEnv: require('./sit.env'),
ppeEnv: require('./ppe.env'),
index: path.resolve(__dirname, '../dist/' + new_dateTime + '/index.html'),
。。。。。
config中 dev.env.js 修改
開發(fā)環(huán)境用的是測(cè)試接口,通過merge進(jìn)行拷貝
var merge = require('webpack-merge')
var sitEnv = require('./sit.env')
module.exports = merge(sitEnv, {
NODE_ENV: '"development"'
})
在config中新建sit.env.js
//測(cè)試
module.exports = {
NODE_ENV: '"sitEnvironment"',
ENV_CONFIG: '"sit"',
hosturl: '"https://sitxxx"',
。。。
}
在config中新建ppe.env.js
//預(yù)生產(chǎn)
module.exports = {
NODE_ENV: '"ppeEnvironment"',
ENV_CONFIG: '"ppe"',
hosturl: '"https://ppexxx"'
。。。
}
生產(chǎn)環(huán)境是prod.env.js vue-cli 自帶
安裝cross-env
package.json 修改
"scripts": {
"dev": "node build/dev-server.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",
"e2e": "node test/e2e/runner.js",
"test": "npm run e2e"
},
end
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。