nuxt axios 多環節變數配置不同地址

qq_27953863發表於2018-12-10

cross-env能跨平臺地設定及使用環境變數

大多數情況下,在windows平臺下使用類似於: NODE_ENV=production的命令列指令會卡住,windows平臺與POSIX在使用命令列時有許多區別(例如在POSIX,使用$ENV_VAR,在windows,使用%ENV_VAR%。。。)

cross-env讓這一切變得簡單,不同平臺使用唯一指令,無需擔心跨平臺問題

npm安裝方式

npm i --D cross-env

package.json配置

"scripts": {
  "dev": "nuxt",
  "build": "nuxt build",
  "start": "nuxt start",
  "dev-t": "cross-env process.env.__ENV=testing nuxt",
  "build-t": "cross-env process.env.__ENV=testing nuxt build",
  "dev-p": "cross-env process.env.__ENV=production nuxt",
  "build-p": "cross-env process.env.__ENV=production nuxt build",
},

nuxt.config.js配置

env: {
  __ENV: process.env.__ENV
},

axios.js 配置

 if(process.env.__ENV=='development'){
    axios.defaults.baseURL = 'http://www.xxx.local/api'
 }else if(process.env.__ENV=='production'){
    axios.defaults.baseURL = 'http://www.xxx.cn/api'
}else if(process.env.__ENV=='testing'){
    axios.defaults.baseURL = 'http://xxx.org/api'
}else{
    axios.defaults.baseURL = 'http://www.xxx.local/api'
}

相關文章