vue.js 如何在Express多页应用程序中在一个单独的路线中提供SPA?

oxcyiej7  于 2023-02-05  发布在  Vue.js
关注(0)|答案(1)|浏览(117)

假设我有一个博客,它是一个普通的Express多页应用程序,现在我想有一个博客内容管理器,作为Vue.js的SPA。
我想从一个单一的路线,如https://myapp/admin/dashboard服务这个应用程序,而其余的是一个普通的多页快递应用程序(同一服务器)。
如何在express和vue中设置这样的东西?

rsl1atfo

rsl1atfo1#

有三种可能的策略:

  • 您可以使用类似于以下内容的方式,在通向SPA的公共路径下提供所有内容
app.get("/spa/*", spa);
app.get("/spa", spa);

在这种情况下,客户端应用程序必须知道它的前缀,因为它必须为所有链接添加前缀,即当它想送你回家时,它必须将你送至/spa。Vue和React Router都通过一个选项支持这一点。

  • 您可以使用URL片段,即/spa#sublink的散列链接

在这种情况下,Express将看到一条管线:

app.get("/spa", spa);

应用程序不需要知道它的前缀,你可以重新定位它,它总是把你送到一个相对链接,如href="#sublink

  • 或者使用/spa?item=sublink之类的查询参数

这可能是最糟糕的方法,因为它结合了所有其他方法的缺点
如果您不确定,第二种方法可能是可行的-它不需要任何特殊设置。

相关问题