项目中vue 单页面 多页面 的选择

最近接触vue,使用vue做一个类似风格的网站(如下图),实际需求目测估计20+页面。单页面是否能够满足?

clipboard.png

  • 因为没有没有用过vue,担心是否使用单页面时,页面、配置等其他会过于冗余,编译后页面会不会巨大无比(加载慢?),会不会有坑。
  • 如果使用多页面那么公共区域部分总是重复编译、加载、渲染是不是也不太好?

有开发经验的小伙伴可以分享下经验吗?

阅读 12.7k
11 个回答

多页面对webpack来说就是多入口,每个入口可以看做一个单页面。
个人认为:结构内容相似,关联度大的可以做在一个入口里,然后用router维护不同的内容,不相关的可以另开一个页面
简单说:

a.html -> a.html#routerA1, a.html#routerA2
b.html -> b.html#routerB1, b.html#routerB2

可以看下这个例子

最近接触。这个就有点尴尬。多页好一点我觉得。因为后期如果扩展的话,方便一些。

单页的话,状态管理不适合才接触的人,包括一些资源引入方式呀。都是需要考虑的

个人觉得单页面就够了,而且体验还好点,好多资源都是共用的,多页面浪费请求

不要单页面,不要单页面。不要单页面!重要的事情说三遍

20+页面可以用单页,单页多页和页面多少好像关系不大,理论上来说应该所有的网站都是可以用单页来实现的

其实与页面个数没有太大关系,主要是看页面结构的复杂性,一般你这种需求都做多页应用,特别是你这个数据列表这一块,将来或许会有数以万计的数据要展示,若多个类似的需求在单页完成,渲染速度和响应速度···可想而知。

如果刚开始学
不建议直接用来做项目,可以自己先写点东西练手
要不是做到后面悟出了点东西,就会发现前面给自己埋了太多坑了

推荐单页面
依赖库过多?按需加载、Tree Shaking、提取公共库
页面加载时间过长?Prerender、异步组件加载
需要seo和首屏渲染时间?SSR

单页面首次加载缓慢,但是后面的加载优势就会超过多页面了。而多页面则是首次加载快,但是后面每次都要进行加载。
vue这种还是比较适合做单页面的,你把webpack配置一下做多页面应该也可以,但是这样就丧失了vue的优势了。
建议如果不需要考虑太多的兼容性就还是用vue来做单页面吧。比如自己用的后台管理系统什么的。
如果要兼容到ie8什么的。。。还是再考虑下。

多页面有多页面的好处,单页有单页的好处,从seo爬虫这方便我比较倾向于多页面,单页面的话只有index.html,而且没有相关的内容,只有一行代码,多页面的话你打开会发现所有数据都会展现,这样利用seo,这样的话就看你的产品倾向于什么方面了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题