Vue 簡單配置公用接口地址方式
簡單配置公用接口地址
有時(shí)候需要本地和線上需要不同的接口地址, 這個(gè)時(shí)候可以根據(jù) npm run build 判斷
首先配置
先新建一個(gè) config.js 的文件
- 開發(fā)環(huán)境: 說明在本地測試的時(shí)候鏈接的地址
- 測試環(huán)境: 說明是根據(jù) npm run test 進(jìn)行判斷
- 生產(chǎn)環(huán)境: 說明是已經(jīng)部署到線上的代碼 npm run build
let baseURL = '' if (process.env.NODE_ENV === 'production') { ? ? //根據(jù).env文件中的VUE_APP_FLAG判斷是生產(chǎn)環(huán)境還是測試環(huán)境 ? ? if (process.env.VUE_APP_TITLE === 'production') { ? ? ? ? //production 生產(chǎn)環(huán)境 ? ? ? ? baseURL = 'http://192.168.10.111:8080/zhikong' ? ? } else { ? ? ? ? //test 測試環(huán)境 ? ? ? ? baseURL = '' ? ? } } else { ? ? //development 開發(fā)環(huán)境 ? ? baseURL = 'http://192.168.10.12:8080/zhikong' } export default baseURL
package.json 文件下的配置
根據(jù)不同的指示來說明具體去調(diào)用哪個(gè)接口地址
{ ? "scripts": { ? ? "serve": "vue-cli-service serve", ? ? // 根據(jù)不同的指示來說明具體去調(diào)用那個(gè)接口地址 ? ? "build": "vue-cli-service build --mode build", ? ? "test": "vue-cli-service build --mode test", ? ? "lint": "vue-cli-service lint" ? } }
.env.build 和 .env.test 文件
在和 src 文件夾同級(jí)的根目錄下新建 .env.build 和 .env.test 文件
.env.build
NODE_ENV = 'production' VUE_APP_TITLE = 'production'
.env.test
NODE_ENV = 'production' VUE_APP_TITLE = 'test'
vue.config.js 文件配置
npm run build 根據(jù)環(huán)境生成不同打包的文件夾
const path = require('path') function resolve (dir) { ? ? return path.join(__dirname, dir) } module.exports = { ? ? publicPath: './', ? ? // `npm run build` 根據(jù)環(huán)境生成不同打包的文件夾 ? ? outputDir: process.env.VUE_APP_TITLE === 'production' ? 'dist-zhikong' : 'test', ? ? assetsDir: "", ? ? indexPath: 'index.html', ? ? filenameHashing: true, ? ? lintOnSave: false, ? ? runtimeCompiler: false, ? ? transpileDependencies: [], ? ? productionSourceMap: false, ? ? integrity: false, ? ? configureWebpack:{? ? ? ? ? resolve:{ ?? ? ? ? ? ? ? alias:{ ? ? ? ? ? ? ? ? '@': resolve('src'), ? ? ? ? ? ? }? ? ? ? ? } ? ? }, ? ? devServer:{ ?? ? ? ? ? port:8080, ? ? ? ? host:'0.0.0.0', ? ? ? ? open:true, ? ? ? ? https:false, ? ? ? ? overlay: { ? ? ? ? ? ? warnings: true, ? ? ? ? ? ? errors: true ? ? ? ? } ? ? } }
vue接口路徑配置
在個(gè)人開發(fā)中,大多說vue的封裝是固定形式
是寫在文件中,切不可更改
例:
URL: 'http://127.0.0.1:8182/', axios()//方式 ajax()//方式
如何在項(xiàng)目封裝后依然可以更改?
創(chuàng)建文件
在根目錄下創(chuàng)建static文件夾(現(xiàn)版本要放在public中,哪個(gè)行用哪個(gè))
并創(chuàng)建config.json文件
{ ? "name": "static", ? "version": "1.0.0", ? "url": "http://127.0.0.1:8183/", ? "dependencies": {}, }
在json中可以放版本號(hào),項(xiàng)目名、后臺(tái)路徑、以及文件路徑
axios獲取json文件內(nèi)容
使用async await進(jìn)行同步請求
export default async function request(config) { //public/config.json await axios.get('static/config.json').then(res => { ? ? console.log(res.data.url) ? ? URL = res.data.url ? }) axios()//方法 ajax()//方法 }
在這樣的請求的的時(shí)候,在 json文件不混亂的情況下,不需要考慮將內(nèi)容提前預(yù)置在vuex緩存中,差距人的反應(yīng)是感受不到的,甚至可能會(huì)因?yàn)槟撤N原因丟失就得不償失了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue移動(dòng)端實(shí)現(xiàn)圖片上傳及超過1M壓縮上傳
這篇文章主要為大家詳細(xì)介紹了Vue移動(dòng)端實(shí)現(xiàn)圖片上傳及超過1M壓縮上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12Vue電商網(wǎng)站首頁內(nèi)容吸頂功能實(shí)現(xiàn)過程
電商網(wǎng)站的首頁內(nèi)容會(huì)比較多,頁面比較長,為了能讓用戶在滾動(dòng)瀏覽內(nèi)容的過程中都能夠快速的切換到其它分類。需要分類導(dǎo)航一直可見,所以需要一個(gè)吸頂導(dǎo)航的效果。目標(biāo):完成頭部組件吸頂效果的實(shí)現(xiàn)2023-04-04vue實(shí)現(xiàn)動(dòng)態(tài)按鈕功能
這篇文章主要介紹了vue實(shí)現(xiàn)動(dòng)態(tài)按鈕功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05關(guān)于Vue在ie10下空白頁的debug小結(jié)
這篇文章主要給大家介紹了關(guān)于Vue在ie10下空白頁的debug相關(guān)資料,這是最近在工作中遇到的一個(gè)問題,通過查找相關(guān)的資料終于解決了,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-05-05echarts 使用formatter 修改鼠標(biāo)懸浮事件信息操作
這篇文章主要介紹了echarts 使用formatter 修改鼠標(biāo)懸浮事件信息操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07