vue 使用vue-router部署后刷新404
前端框架一般都会使用router功能,vue的vue-router就是实现路由功能的。这种功能有个小问题:当我们在开发时,假设有个路由是/admin,返回的是主页面,然后有个路由是/admin/edit,主页面上一般会渲染相应的组件,这时我们使用浏览器的刷新,界面并不会有啥变化。但是!!!当我们build之后部署时,我们在/admin/edit这个路由上刷新就会报错404:无法找到/admin/e
·
前端框架一般都会使用router功能,vue的vue-router就是实现路由功能的。
这种功能有个小问题:
当我们在开发时,假设有个路由是/admin,返回的是主页面,然后有个路由是/admin/edit,主页面上一般会渲染相应的组件,这时我们使用浏览器的刷新,界面并不会有啥变化。
但是!!!当我们build之后部署时,我们在/admin/edit这个路由上刷新就会报错404:无法找到/admin/edit。这是因为一般情况下,作者是采用前后端分离的模式,即前端只是静态文件,这样的话,当我们访问/admin/edit,nginx(我一般用的)无法找到其所对应的静态文件,除非如下设置:
location / {
try_files $uri $uri/ /index.html;
}
这样的话,当我们在访问 域名/admin/edit时,$uri对应的就是admin/edit,nginx就会先去找admin/edit文件(一般情况下是没有的),然后就会去$uri/ 即 admin/edit/目录下去寻找(估计去寻找index.html去了),最后都没有就会返回 /index.html所对应的 /admin/index.html
更多推荐
已为社区贡献2条内容
所有评论(0)