渲染方案

原本打算将此项目做成预渲染的方式,但是由于踩了太多坑,最后被劝退了。最后还是采用客户端渲染的方式。
关于预渲染方案可参考此文章:
SPA特点及渲染方案

服务器端配置

在项目中采用的路由模式是“history”,所以部署到服务器上需要服务端配置。不然会出现常见的404错误。
主要是因为在Vue中的路由地址是利用pushstate虚拟的,切换不同的路由是使用JS来渲染的内容,并不是读取各个静态网页资源。在服务端上运行的时候,如果尝试在某个路由地址下F5刷新了浏览器,那么此时的原理就不一样了。刷新之后得到的地址,服务器会认为是你在访问服务器上某个具体资源路径下的资源,而本身Vue中路由给的是虚拟地址,不存在有具体资源路径。所以就达不到预先的结果,通常的做法有两种,一种是通过后端渲染的时候,配置后端来做重定向,还有一种是通过Nginx配置。
详细可参考Vue-Router

  1. location / {
  2. root /xxx/xxx/xxx/xxx;
  3. index index.html index.htm;
  4. try_files $uri $uri/ /index.html;
  5. }