最近碰到一个问题:
浏览器访问网页时,不停刷新的情况下,一下成功,一下失败报500。
我F12查看了一下,发现:
1、是因为静态资源访问失败,
2、nginx没报错,
3、css文件夹下面的静态资源都失败了,js文件夹下面的静态资源都成功了
猜测
前端打包问题。
我 尝试 作了以下变动, 成功 解决了问题,虽然不清楚原理:
// 文件:vue.config.js
// 改动前
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
// assetsDir: 'static', // 打包时打开
// parallel: false, // 打包时打开
publicPath: '/client_build_s/', // 打包时打开
})
// 打包完dist目录下有:favicon.ico、index.html、css文件夹、js文件夹
// 改动后
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
assetsDir: 'static', // 打包时打开
parallel: false, // 打包时打开
publicPath: '/client_build_s/', // 打包时打开
})
// 打包完dist目录下有:favicon.ico、index.html、static文件夹
这样改动后,上了服务器,就成功了。访问正常了。
后续:
后来这个问题又 复现 了,我再次找到了办法:
静态资源获取失败和成功交替,有可能是缓存的原因。
网页依次操作,F12、网络、禁用缓存
如果问题得到解决,就通过代码实现禁用缓存:
首先打开相应的HTML文件;然后通过
<meta http-equiv="Pragma" content="no-cache">
语句实现页面禁止缓存即可。