久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue項(xiàng)目接口域名動(dòng)態(tài)獲取操作

瀏覽:72日期:2022-12-08 11:01:54

需求:

接口域名是從外部 .json 文件里獲取的。

思路:

在開始加載項(xiàng)目前 進(jìn)行接口域名獲取,然后重置 接口域名的配置項(xiàng)。

實(shí)現(xiàn):

1、config/index.js 文件 進(jìn)行基礎(chǔ)配置

import axios from ’axios’const config = { requestUrl: ’http://qiniu.eightyin.cn/path.json’, //動(dòng)態(tài)域名所在地址 baseUrl: { dev: ’/api/’, pro: ’http://xxx.com/’ // 接口域名,會(huì)被動(dòng)態(tài)覆蓋 }, requestRemoteIp: () => { // 動(dòng)態(tài)獲取 return new Promise((resolve, reject) => { axios.get(config.requestUrl).then(response => { config.baseUrl.pro = response.data.data.path; config.img.domain = config.baseUrl.pro; resolve() }, err => { reject() }); }); }}export default config

2、項(xiàng)目下main.js 文件 進(jìn)行動(dòng)態(tài)獲取

import config from ’@/config/index.js’// 讀取接口域名config.requestRemoteIp().finally(res => { /* eslint-disable no-new */ new Vue({ el: ’#app’, router, components: { App }, template: ’<App/>’ })});

3、請(qǐng)求數(shù)據(jù)

const instance = axios.create({ baseURL: process.env.NODE_ENV === ’development’ ? config.baseUrl.dev : config.baseUrl.pro })

補(bǔ)充知識(shí):webpack + vue 打包生成公共配置文件(域名) 方便動(dòng)態(tài)修改

需求原因

原來的項(xiàng)目中域名是打包到項(xiàng)目里面的,打包后不能動(dòng)態(tài)配置,只能通過不同的指令打包來切換域名,每天都在測(cè)試域名和正式域名來回摩擦,后臺(tái)大佬說你們可以生成一個(gè)配置文件這樣就不用頻繁打包了直接修改配置文件就好,于是就有了這篇文章。

第一步 安裝插件

npm install --save-dev generate-asset-webpack-plugin

第二步 新建配置文件

在項(xiàng)目的根目錄下新建 serverConfig.json 以后會(huì)根據(jù)這個(gè)文件去生成打包的配置文件

{'ProdUrl':'http://text.com'}

第三步 引入generate-asset-webpack-plugin

在build/webpack.prod.conf.js中添加

const GenerateAssetPlugin = require(’generate-asset-webpack-plugin’);const serverConfig = require(’../serverConfig.json’);//引入根目錄下的配置文件const createJson = function() { return JSON.stringify(serverConfig);};//plugins 中使用 plugins: [ //打包時(shí)生成一個(gè)配置文件 new GenerateAssetPlugin({ filename: ’serverConfig.json’, fn: (compilation, cb) => { cb(null, createJson()); }, }),]

第四步 使用配置文件中的內(nèi)容

這里根據(jù)不同項(xiàng)目不同需求代碼自行變換,我分享一下我的項(xiàng)目里的使用。在main.js 中vue實(shí)例初始化之前將baseURL存到本地

axios.get(’serverConfig.json’).then( e => { let baseURL = e.data.ProdUrl localStorage.setItem('baseURL', baseURL); new Vue({ el: ’#app’, router, store, i18n, render: h => h(App) })})

由于是使用axios獲取,是異步方法,根據(jù)情況進(jìn)行處理。、

好了接下來就再也不用為了域名每天build了

打包后的目錄

vue項(xiàng)目接口域名動(dòng)態(tài)獲取操作

以上這篇vue項(xiàng)目接口域名動(dòng)態(tài)獲取操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 国产一区二区欧美 | 91 视频网站| 久久精品一区二区三区不卡牛牛 | 人人干人人干人人 | 在线亚洲一区二区 | 午夜影院毛片 | 欧美成人精品激情在线观看 | 免费观看成人性生生活片 | 亚洲精品永久免费 | 在线免费成人 | 在线精品亚洲欧美日韩国产 | 国产欧美精品一区二区三区四区 | 亚洲一区二区三区在线视频 | 日韩精品 | 99re6热在线精品视频播放 | 亚洲国产精品久久久 | 国产99久久精品一区二区永久免费 | 九七超碰在线 | 亚州中文字幕 | 欧美日韩国产在线 | 国产精品欧美一区二区三区 | 婷婷激情综合 | 欧美视频在线免费 | 91国偷自产一区二区三区亲奶 | 可以在线观看的黄色 | 成人精品 | 国产一区在线视频 | 视频一区二区三区在线观看 | av久久 | 国产精品一区久久久久 | 婷婷丁香六月天 | 一本一道久久a久久精品综合 | 国产成人精品免费视频大全最热 | 精品亚洲在线 | 91在线最新 | www.99re| 国产精品久久久一区二区三区 | 国产免费av在线 | 国产激情偷乱视频一区二区三区 | 亚洲一区中文字幕在线观看 | 色婷婷久久一区二区三区麻豆 |