Vue.js SSR: 我可以拥有一个多页面单页应用程序吗?

3

我知道这听起来像一个巨大的矛盾,而且它确实是,但我不知道如何用其他方式表达它。

似乎在Vue服务器端渲染中,只能拥有单页应用程序。

但由于多种原因,我需要拥有一个具有多个真实服务器端生成页面和每个页面都像Vue JS提供的单页应用程序一样运行的应用程序,具有真实URL。

例如,这些将是服务器端路由(即URL):

/
/contact
/articles
/authors

然后我想能够在每个服务器生成的页面上 挂载 Vue 客户端路由,例如:

/articles/lastweek
/articles/nextweek

lastweek和nextweek将是客户端路由。作者也是如此。

/authors/sports
/authors/politics
/authors/lifestyle

其中体育、政治和生活方式将是客户端路由。

因此,/articles 和 /authors 将表现得像单页应用程序一样,但它们实际上不是,因为它们是由服务器生成的页面。

我希望这听起来不会太奇怪。


我的意思是,当然你可以这样做。没有理由不能这样做。只需处理顶级类别的路由,并为子级使用vue-router。 - Ohgodwhy
1个回答

1

是的,你可以做到这一点!我们在我的工作中刚开始以这种方式实现vue。你所需要做的就是在每个服务器生成的页面上包含vue.js脚本,然后为每个服务器视图创建不同的vue应用程序。我们使用文件夹结构来保持组织。

src
--content
----articles
------lastweek.css
------lastweek.js
------nextweek.css
------nextweek.js
----author
------sports.css
------sports.js
....

所以每个视图都会有自己的 cssjsjs 是该视图的 Vue 应用程序。您可以按照最适合您项目的方式构建项目,我只是想发布一个示例。

我也有类似的想法。只是,在这种情况下几乎没有任何示例。特别是在与webpack和CSS提取以及所有其他与vue相关的好东西相结合时。无论如何,谢谢,至少我知道其他人也有类似的想法。 - LongHike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接