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

vue 部署上線清除瀏覽器緩存的方式

 更新時(shí)間:2022年08月03日 10:08:07   作者:三個(gè)木馬人  
這篇文章主要介紹了vue 部署上線清除瀏覽器緩存的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

部署上線清除瀏覽器緩存

vue 項(xiàng)目打包上線之后,每一次都會(huì)有瀏覽器緩存問(wèn)題,需要手動(dòng)的清除緩存。這樣用戶體驗(yàn)非常不好,所以我們?cè)诖虬渴鸬臅r(shí)候需要盡量避免瀏覽器的緩存。

下面是我的解決方案:

修改根目錄index.html

在 head 里面添加下面代碼

<meta http-equiv="pragram" content="no-cache">
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate">

這種會(huì)讓所有的css/js資源重新加載

配置 nginx 不緩存 html

vue默認(rèn)配置,打包后css和js的名字后面都加了哈希值,不會(huì)有緩存問(wèn)題。但是index.html在服務(wù)器端可能是有緩存的,需要在服務(wù)器配置不讓緩存index.html

server {
listen 80;
server_name yourdomain.com;
location / {
    try_files $uri $uri/ /index.html;
    root /yourdir/;
    index index.html index.htm;

    if ($request_filename ~* .*\.(?:htm|html)$)
    {
        add_header Cache-Control "no-cache, no-store";  //對(duì)html文件設(shè)置永遠(yuǎn)不緩存
    }  
  }
}
  • no-cache瀏覽器會(huì)緩存,但刷新頁(yè)面或者重新打開(kāi)時(shí) 會(huì)請(qǐng)求服務(wù)器,服務(wù)器可以響應(yīng)304,如果文件有改動(dòng)就會(huì)響應(yīng)200
  • no-store瀏覽器不緩存,刷新頁(yè)面需要重新下載頁(yè)面

打包的文件路徑添加時(shí)間戳

1、在 vue-cli2.x 創(chuàng)建的項(xiàng)目里,找到 build/webpack.prod.conf.js 文件

//定義一個(gè)變量獲取當(dāng)前時(shí)間戳
const version = new Date().getTime();
//output模塊將時(shí)間戳加入到輸出的文件名里
output: {
  publicPath: '/',
  path: config.build.assetsRoot,
  filename: utils.assetsPath(`js/[name].[chunkhash].${version}.js`),
  chunkFilename: utils.assetsPath(`js/[id].[chunkhash].${version}.js`)
},

//css文件名加時(shí)間戳
new ExtractTextPlugin({
    filename: utils.assetsPath(`css/[name].[contenthash].${version}.css`),
    allChunks: true,
}),

2、在 vue-cli3.x 創(chuàng)建的項(xiàng)目里,打開(kāi) vue.config.js 文件 ( 沒(méi)有該文件自己在 src 同級(jí)目錄下創(chuàng)建一個(gè) )

const version = new Date().getTime();
module.exports = {
  	outputDir: 'dist', //打包的時(shí)候生成的一個(gè)文件名
	lintOnSave: false,
  	productionSourceMap: false,
  	css: {
	    loaderOptions: {
	      sass: {
	        data: `@import "@/components/themes/_handle.scss";`
	      }
	    },
	    // 是否使用css分離插件 ExtractTextPlugin
	    extract: {
	      // 修改打包后css文件名   // css打包文件,添加時(shí)間戳
	      filename: `css/[name].${version}.css`,   
	      chunkFilename: `css/[name].${version}.css`
	    }
	 },
  	configureWebpack: {
		output: { // 輸出重構(gòu)  打包編譯后的 文件名稱  【模塊名稱.版本號(hào).時(shí)間戳】
		     filename: `js/[name].[chunkhash].${version}.js`,
		     chunkFilename: `js/[id].[chunkhash].${version}.js`
		}
	}
}

效果:

vue項(xiàng)目部署,清理緩存方式

1.index.html

<!--清除瀏覽器中的緩存 -->
<meta http-equiv="pragram" content="no-cache">
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate">

2.vue.config.js

const timeUpdate ?= new Date().getTime();
module.exports = {
? // 解決發(fā)布生產(chǎn)以后有緩存的問(wèn)題
? // 輸出重構(gòu) ?打包編譯后的 文件名稱 ?【模塊名稱.版本號(hào).時(shí)間戳】
? //一般情況下,該方法就能解決。
? configureWebpack: {
? ? output: {
? ? ? filename: `[name].js?v=${timeUpdate}`,
? ? ? chunkFilename: `[name].js?v=${timeUpdate}`
? ? },
? },
? // 修改打包后css文件名
? css: {
? ? loaderOptions: {
? ? ? sass: {
? ? ? ? data: `@import "@/components/themes/_handle.scss";`
? ? ? }
? ? },
? ? // 是否使用css分離插件 ExtractTextPlugin
? ? extract: {
? ? ? filename: `static/css/[name].${timeUpdate}.css`,
? ? ? chunkFilename: `static/css/[name].${timeUpdate}.css`
? ? }
? },
? // webpack-chain (鏈?zhǔn)讲僮?這個(gè)庫(kù)提供了一個(gè) webpack 原始配置的上層抽象,
? // 使其可以定義具名的 loader 規(guī)則和具名插件,并有機(jī)會(huì)在后期進(jìn)入這些規(guī)則并對(duì)它們的選項(xiàng)進(jìn)行修改。
? // 它允許我們更細(xì)的控制其內(nèi)部配置。
? chainWebpack(config) {
?? ??? ?// img的文件名修改
?? ? ? ?config.module
?? ? ? ? ?.rule('images')
?? ? ? ? ?.use('url-loader')
?? ? ? ? ?.tap(options => {
?? ? ? ? ? ?options.name = `static/img/[name].${timeUpdate}.[ext]`
?? ? ? ? ? ?options.fallback = {
?? ? ? ? ? ? ?loader: 'file-loader',
?? ? ? ? ? ? ?options: {
?? ? ? ? ? ? ? ?name: `static/img/[name].${timeUpdate}.[ext]`
?? ? ? ? ? ? ?}
?? ? ? ? ? ?}
?? ? ? ? ? ?return options
?? ? ? ? ?})
?? ?},
};

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3 axios 實(shí)現(xiàn)自動(dòng)化api配置詳解

    vue3 axios 實(shí)現(xiàn)自動(dòng)化api配置詳解

    這篇文章主要為大家介紹了vue3 axios 實(shí)現(xiàn)自動(dòng)化api配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • elementUI select組件value值注意事項(xiàng)詳解

    elementUI select組件value值注意事項(xiàng)詳解

    這篇文章主要介紹了elementUI select組件value值注意事項(xiàng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Vue之過(guò)濾器詳解

    Vue之過(guò)濾器詳解

    這篇文章主要為大家介紹了Vue之過(guò)濾器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助,希望能夠給你帶來(lái)幫助
    2021-11-11
  • vue3使用video.js播放m3u8格式視頻的操作指南

    vue3使用video.js播放m3u8格式視頻的操作指南

    有時(shí)候我們需要播放 m3u8 格式的視頻,或者實(shí)現(xiàn)視頻播放器更多定制化需求,HTML 的 video 元素?zé)o法實(shí)現(xiàn)這些需求,這時(shí)候可以考慮使用 Video.js,本文給大家介紹了vue3使用video.js播放m3u8格式視頻的操作指南,需要的朋友可以參考下
    2024-07-07
  • element-ui vue input輸入框自動(dòng)獲取焦點(diǎn)聚焦方式

    element-ui vue input輸入框自動(dòng)獲取焦點(diǎn)聚焦方式

    這篇文章主要介紹了element-ui vue input輸入框自動(dòng)獲取焦點(diǎn)聚焦方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue2中實(shí)現(xiàn)dialog的封裝方式

    Vue2中實(shí)現(xiàn)dialog的封裝方式

    這篇文章主要介紹了Vue2中實(shí)現(xiàn)dialog的封裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 使用vue-touch報(bào)priority錯(cuò)誤的解決

    使用vue-touch報(bào)priority錯(cuò)誤的解決

    這篇文章主要介紹了使用vue-touch報(bào)priority錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue2移動(dòng)端使用vue-qrcode-reader實(shí)現(xiàn)掃一掃功能的步驟

    vue2移動(dòng)端使用vue-qrcode-reader實(shí)現(xiàn)掃一掃功能的步驟

    最近在使用vue開(kāi)發(fā)的h5移動(dòng)端想要實(shí)現(xiàn)一個(gè)調(diào)用攝像頭掃描二維碼的功能,所以下面這篇文章主要給大家介紹了關(guān)于vue2移動(dòng)端使用vue-qrcode-reader實(shí)現(xiàn)掃一掃功能的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • vue封裝組件的過(guò)程詳解

    vue封裝組件的過(guò)程詳解

    這篇文章主要為大家詳細(xì)介紹了vue中封裝組件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們深入了解vue有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • vue中使用props傳值的方法

    vue中使用props傳值的方法

    這篇文章主要介紹了vue中使用props傳值的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論

云南省| 于都县| 塔城市| 东平县| 安义县| 平武县| 清镇市| 二连浩特市| 孝昌县| 赤壁市| 泰来县| 昌乐县| 安龙县| 民权县| 郧西县| 宁蒗| 扎赉特旗| 宁城县| 电白县| 瑞昌市| 宜君县| 五台县| 温宿县| 罗定市| 阜新| 东明县| 安义县| 墨竹工卡县| 禄丰县| 全椒县| 荔浦县| 嘉善县| 文昌市| 五常市| 荔波县| 北川| 广安市| 德化县| 深泽县| 台东县| 邯郸县|