vue前端更新后需要清空緩存代碼示例
場景:
前端vue3網(wǎng)站項目使用wepack打包后進(jìn)行部署,但是用戶瀏覽器訪問網(wǎng)站時加載了緩存,導(dǎo)致沒有及時更新。
現(xiàn)在需要一個解決方案保證每次重新打包部署后,用戶瀏覽器訪問網(wǎng)站重新加載js和css,但是未更新還是繼續(xù)使用緩存加快加載速度。
1、配置nginx不緩存index.html
index.html文件很小,不緩存的話也不會造成很大影響
server { listen 80; server_name yourdomain.com; location / { try_files $uri $uri/ /index.html; root /yourdir/; index index.html index.htm; //對html htm文件設(shè)置永遠(yuǎn)不緩存 if ($request_filename ~* .*\.(?:htm|html)$) { add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy- revalidate"; } } }
2、配置vue.config.js項目webpack為js和css文件增加引用版本號
打包后index.html中引用js和css文件都會帶上 ?v=時間戳
這樣js和css更新后因為時間戳不一樣,會重新加載文件
const timestamp = new Date().getTime() module.exports = defineConfig({ css: { extract: { // 修改輸出css目錄名及文件名 filename: `css/[name].css?v=${timestamp}`, chunkFilename: `css/[name].css?v=${timestamp}`, } }, configureWebpack: { output: { // 修改輸出js目錄名及文件名 filename: `js/[name].js?v=${timestamp}`, chunkFilename: `js/[name].js?v=${timestamp}`, }, }, })
3、如果是vite.config.js
那么需要在defineConfig下加上配置
build: { // outDir: "admin", //想要把dist修改成什么名字在這邊改 // 自定義底層的 Rollup 打包配置(Rollup文檔地址:https://cn.rollupjs.org/configuration-options/) rollupOptions: { // 輸出配置 output: { // 輸出的文件自定義命名 chunkFileNames: `js/[name]-[hash].${timestamp}.js`, entryFileNames: `js/[name]-[hash].${timestamp}.js`, assetFileNamesL: `[ext]/[name]-[hash].${timestamp}.[text]`, } }, },
總結(jié)
到此這篇關(guān)于vue前端更新后需要清空緩存的文章就介紹到這了,更多相關(guān)vue前端更新清空緩存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue3中reactive的對象清空所引發(fā)的問題解決方案(清空不了和清空之后再去賦值就賦值不了)
- Vue.js實現(xiàn)輸入框清空功能的兩種方式
- vue3清空reactive的四種方式
- Vue3如何清空Reactive定義的數(shù)組
- vue中el-date-picker type=daterange日期清空時不回顯的解決
- vue返回首頁后如何清空路由問題
- ant design vue 清空upload組件圖片緩存的問題
- vue如何實現(xiàn)清空this.$route.query的值
- vue清空form對象的方法
- vue3清空let?arr?=?reactive([])的實現(xiàn)示例
相關(guān)文章
Vue的雙向數(shù)據(jù)綁定實現(xiàn)原理解析
這篇文章主要介紹了Vue的雙向數(shù)據(jù)綁定實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02Vue項目前后端聯(lián)調(diào)(使用proxyTable實現(xiàn)跨域方式)
這篇文章主要介紹了Vue項目前后端聯(lián)調(diào)(使用proxyTable實現(xiàn)跨域方式),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07Vue?3?中使用?vue-router?進(jìn)行導(dǎo)航與監(jiān)聽路由變化的操作
在Vue3中,通過useRouter和useRoute可以方便地實現(xiàn)頁面導(dǎo)航和路由變化監(jiān)聽,useRouter允許進(jìn)行頁面跳轉(zhuǎn),而useRoute結(jié)合watch可以根據(jù)路由變化更新組件狀態(tài),這些功能為Vue3應(yīng)用增加了靈活性和響應(yīng)性,使得路由管理更加高效2024-09-09