发布网友 发布时间:2022-04-24 02:20
共2个回答
热心网友 时间:2022-04-21 15:47
刷新页面时访问的资源在服务端找不到,因为vue-router设置的路径不是真实存在的路径。
你使用的应该是vue-route的history模式,当使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id,也好看!
vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。但是会有“#”,有人觉得地址栏有这个很丑。所以用了history模式
解决方案:
后端配置,举例:
Apache
<IfMole mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfMole>
ngnix
location / {
try_files $uri $uri/ /index.html;
}
Node.js(Express)
https://github.com/bripkens/connect-history-api-fallback
如果你是用 node.js 作后台,可以使用服务端的路由来匹配 URL,当没有匹配到路由的时候返回 404,从而实现 fallback。
热心网友 时间:2022-04-21 17:05
按F12打开开发者调试工具,打开F12 后,浏览器默认是不会缓存的。所以,如果你更新代码后,刷新后应该是能看到新代码的效果的。