最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年08月13日 10:19:55   作者:點(diǎn)幾  
這篇文章主要介紹了vue項(xiàng)目接口域名動(dòng)態(tài)獲取操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

需求:

接口域名是從外部 .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)獲取操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • VUE+elementui面包屑實(shí)現(xiàn)動(dòng)態(tài)路由詳解

    VUE+elementui面包屑實(shí)現(xiàn)動(dòng)態(tài)路由詳解

    今天小編就為大家分享一篇VUE+elementui面包屑實(shí)現(xiàn)動(dòng)態(tài)路由詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue中引入mxGraph的步驟詳解

    vue中引入mxGraph的步驟詳解

    本文分步驟給大家介紹了vue中引入mxGraph的方法,非常不錯(cuò),給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 基于Vue的側(cè)邊目錄組件的實(shí)現(xiàn)

    基于Vue的側(cè)邊目錄組件的實(shí)現(xiàn)

    這篇文章主要介紹了基于Vue的側(cè)邊目錄組件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Vue學(xué)習(xí)筆記進(jìn)階篇之單元素過度

    Vue學(xué)習(xí)筆記進(jìn)階篇之單元素過度

    這篇文章主要介紹了Vue學(xué)習(xí)筆記進(jìn)階篇之單元素過度,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • vue3.2自定義彈窗組件結(jié)合函數(shù)式調(diào)用示例詳解

    vue3.2自定義彈窗組件結(jié)合函數(shù)式調(diào)用示例詳解

    這篇文章主要為大家介紹了vue3.2自定義彈窗組件結(jié)合函數(shù)式調(diào)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Vue.js項(xiàng)目在IE11白屏報(bào)錯(cuò)的解決方法

    Vue.js項(xiàng)目在IE11白屏報(bào)錯(cuò)的解決方法

    本文主要介紹了Vue.js項(xiàng)目在IE11白屏報(bào)錯(cuò)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • vue+element-ui中form輸入框無法輸入問題的解決方法

    vue+element-ui中form輸入框無法輸入問題的解決方法

    很多初次接觸element-ui的同學(xué),在用到element form組件時(shí)可能會(huì)遇到input框無法輸入文字的問題,下面這篇文章主要給大家介紹了關(guān)于vue+element-ui中form輸入框無法輸入問題的解決方法,需要的朋友可以參考下
    2023-04-04
  • VUE項(xiàng)目中封裝Echart折線圖的方法

    VUE項(xiàng)目中封裝Echart折線圖的方法

    這篇文章主要為大家詳細(xì)介紹了VUE項(xiàng)目中封裝Echart折線圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue?el-date-picker?日期回顯后無法改變問題解決

    vue?el-date-picker?日期回顯后無法改變問題解決

    這篇文章主要介紹了vue?el-date-picker?日期回顯后無法改變問題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • vue-cli之router基本使用方法詳解

    vue-cli之router基本使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue-cli之router基本使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評(píng)論

青岛市| 阜南县| 抚顺市| 京山县| 朝阳县| 灵台县| 河南省| 苏尼特左旗| 鲁甸县| 红河县| 文成县| 确山县| 洛川县| 右玉县| 武汉市| 奉贤区| 长沙市| 东明县| 南京市| 长治县| 深州市| 周至县| 江津市| 陆川县| 房产| 特克斯县| 抚远县| 古交市| 大渡口区| 萍乡市| 邳州市| 留坝县| 陈巴尔虎旗| 西安市| 阳春市| 平定县| 蕉岭县| 碌曲县| 永吉县| 中山市| 山丹县|