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

詳解Vue2 SSR 緩存 Api 數(shù)據(jù)

 更新時間:2017年11月20日 12:03:01   作者:M.M.F  
本篇文章主要介紹了Vue2 SSR 緩存 Api 數(shù)據(jù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了Vue2 SSR 緩存 Api 數(shù)據(jù),分享給大家,具體如下:

1. 安裝緩存依賴: lru-cache

npm install lru-cache --dev

2. api 配置文件

config-server.js

var LRU = require('lru-cache')

let api
if (process.__API__) {
  api = process.__API__
} else {
  api = process.__API__ = {
    api: 'http://localhost:8080/api/',
    cached: LRU({
      max: 1000,
      maxAge: 1000 * 60 * 15
    }),
    cachedItem: {}
  }
}

module.exports = api

配置下lru-cache

3. 封裝下 api

import axios from 'axios'
import qs from 'qs'
import md5 from 'md5'
import config from './config-server.js'

export default {
  post(url, data) {
    const key = md5(url + JSON.stringify(data))
    if (config.cached && config.cached.has(key)) {
      return Promise.resolve(config.cached.get(key))
    }
    return axios({
      method: 'post',
      url: config.api + url,
      data: qs.stringify(data),
      // 其他配置
    }).then(res => {
      if (config.cached && data.cache) config.cached.set(key, res)
      return res
    })
  }
}

ajax 庫我們用axios, 因為axios在 nodejs 和 瀏覽器都可以使用

并且將 node 端和瀏覽器端分開封裝

import config from './config-server.js'
const key = md5(url + JSON.stringify(data))

通過 url 和參數(shù), 生成一個唯一的 key

if (config.cached && config.cached.has(key)) {
  return Promise.resolve(config.cached.get(key))
}
if (config.cached && data.cache) config.cached.set(key, res)

判斷下是不是開啟了緩存, 并且接口指定緩存的話, 將 api 返回的數(shù)據(jù), 寫入緩存

注意:

這個 api 會處理所有的請求, 但是很多請求其實是不需要緩存的, 所以需要緩存可以在傳過來的 data 里, 添加個 cache: true, 如:

api.post('/api/test', {a: 1, b:2, cache: true})

不需要緩存的直接按正常傳值即可

當(dāng)然這里標(biāo)記是不是要緩存的方法有很多, 不一定要用這一種

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue2.x element-ui實現(xiàn)pc端購物車頁面demo

    vue2.x element-ui實現(xiàn)pc端購物車頁面demo

    這篇文章主要為大家介紹了vue2.x element-ui實現(xiàn)pc端購物車頁面demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • VUE中的自定義指令鉤子函數(shù)講解

    VUE中的自定義指令鉤子函數(shù)講解

    這篇文章主要介紹了VUE中的自定義指令鉤子函數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 淺談validator自定義驗證及易錯點

    淺談validator自定義驗證及易錯點

    這篇文章主要介紹了validator自定義驗證及易錯點,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 聊聊vue 中的v-on參數(shù)問題

    聊聊vue 中的v-on參數(shù)問題

    這篇文章主要介紹了聊聊vue 中的v-on參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Vue?動態(tài)路由的實現(xiàn)詳情

    Vue?動態(tài)路由的實現(xiàn)詳情

    這篇文章主要介紹了Vue?動態(tài)路由的實現(xiàn),動態(tài)路由是一個常用的功能,根據(jù)后臺返回的路由json表,前端動態(tài)顯示可跳轉(zhuǎn)的路由項,本文主要實現(xiàn)的是后臺傳遞路由,前端拿到并生成側(cè)邊欄的一個形勢,需要的朋友可以參考一下
    2022-06-06
  • Vue+Vuex實現(xiàn)自動登錄的知識點詳解

    Vue+Vuex實現(xiàn)自動登錄的知識點詳解

    在本篇文章里小編給大家整理的是關(guān)于Vue+Vuex實現(xiàn)自動登錄的知識點詳解,需要的朋友們可以學(xué)習(xí)下。
    2020-03-03
  • Vue混入與插件的使用介紹

    Vue混入與插件的使用介紹

    這篇文章主要介紹了Vue混入與插件的使用,mixins(混入),官方的描述是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式,mixins是一個js對象,它可以包含我們組件中script項中的任意功能選項,如data、components、methods 、created、computed等等
    2022-09-09
  • vue依賴包報錯問題eslint\lib\cli-engine\cli-engine.js:421

    vue依賴包報錯問題eslint\lib\cli-engine\cli-engine.js:421

    這篇文章主要介紹了vue依賴包報錯問題eslint\lib\cli-engine\cli-engine.js:421,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue-element-admin如何轉(zhuǎn)換成中文

    vue-element-admin如何轉(zhuǎn)換成中文

    這篇文章主要介紹了vue-element-admin如何轉(zhuǎn)換成中文問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 詳解mpvue中小程序自定義導(dǎo)航組件開發(fā)指南

    詳解mpvue中小程序自定義導(dǎo)航組件開發(fā)指南

    這篇筆記主要記錄一下基于mpvue的小程序中實現(xiàn)自定義導(dǎo)航的思路及應(yīng)用。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論

九龙坡区| 湘乡市| 同德县| 青岛市| 峡江县| 桦甸市| 察隅县| 中西区| 塘沽区| 衡山县| 依安县| 长泰县| 扎兰屯市| 仪陇县| 驻马店市| 宣化县| 砚山县| 长治县| 宁海县| 通江县| 杂多县| 郁南县| 西华县| 河津市| 天峻县| 偃师市| 井陉县| 雷山县| 晋江市| 崇礼县| 嵊泗县| 佛山市| 荃湾区| 兰州市| 北川| 石嘴山市| 海丰县| 周宁县| 陕西省| 镇雄县| 浪卡子县|