當vue打包後,放置一段時間後,會404


#1

當build完 deploy 上去,放置一段時間後,
要到其他頁面時,都會404
但很奇怪的也不是全部的頁面都會404,
重整之後,功能又完全正常了!
抱歉, 這描述很奇怪但事實就真是這樣…

如圖

有大大能解嗎?


#2

不知道是不是https协议的原因?


#3

404 也就是说你的路径问题 找不到资源

你看一下 https://admin.xxxx.com 是否指向了你的项目的根目录

css js 文件夹是否在你打包后的根目录下


#4

@ZangYuSong
有在根目錄底下


#5

這部分有什麼關鍵字嗎?


#6

我进去看一了一下 明显没有对应的文件 比如报错的第一个 eea9cb4c

给一下用户名和密码 我去看一下

另外你每次打包发布之前 把你之前的文件先清空。因为每次打包 hash 不同 所有的文件都会累积


#7

你使用的是vue-cli3吗?那我就不知道了,没有用过。


#8

是cl3沒錯 XD
之前有出現webpack chunk failed,處理完後
最近出現這個問題~_~
只能說太幸運了


#9

Build 完没刷新页面?


#10

路径问题,我也遇到过,你把baseUrl改一下

image


#11
let reloadCount = 0
router.onError((error) => {
console.log(error)
const pattern1 = /Loading chunk (\d)+ failed/g
const pattern2 = /Loading chunk chunk-/g
const isChunkLoadFailed = error.message.match(pattern1) || error.message.match(pattern2)
const targetPath = router.history.pending.fullPath
if (isChunkLoadFailed && reloadCount < 6) {
  reloadCount++
  router.replace(targetPath)
 }
})

我後面想一想,
有可能是因為自動部署,
所以導致重新build完後,
點擊沒有reload過後的畫面,
才導致發生一堆404問題

現在網頁已經加上更新後,會跳出提示,要求更新
以及上面那段程式碼,遇到那些錯誤,就重新導向一次

目前是用這兩種解法加一起XD

感謝大家幫忙


#12

有哦~
之前有改過,不過cli3好像要改成

publicPath: '/',


#13

好像是這樣~_~
才導致不斷有怪事發生