【问题标题】:multiple VueJS apps with one prepage - navigate to each app without redirect带有一个 prepage 的多个 VueJS 应用程序 - 导航到每个应用程序而无需重定向
【发布时间】:2018-11-09 11:21:24
【问题描述】:

我们正在基于不同的 VueJS 应用程序开发一个更大的项目。每个 VueJS 应用程序都有自己的路由器和存储。

应用程序被访问 e。一种。像这样:

https://baseurl.com/app1/#/ https://baseurl.com/app2/#/ https://baseurl.com/app3/#/

现在我们想添加一个前页来导航到所有这些应用程序。主页将位于https://baseurl.com/

为了更好的用户体验,我们不想对每个应用程序都使用简单的重定向。目标是用户不会注意到,他正在导航到另一个 vue 应用程序。它应该感觉像是一个以 baseurl 作为入口点的大型应用程序。

这种情况有没有好的解决方案?

我们已经想到的:

  1. 对于前页,我们将使用 VanillaJS/JQuery 将每个应用程序动态加载到当前 DOM 中。问题:每个应用程序的路由器实例是否可用?
  2. 对于 pre 页面,我们将使用另一个 VueJS 应用程序并将路由器用于外部路由(这里再次显示重定向)

如果有一些关于如何将许多小型 VueJS 应用程序变成“大”的建议,我会很高兴。

将所有子应用程序开发成一个大型 VueJS 项目不是一种选择,因为所有子应用程序都应该非常灵活,并且不能“干扰”其他应用程序。

在此先感谢

【问题讨论】:

  • 我的意思是,考虑到基于组件的系统、延迟加载路线、存储模块等选项,如果不把它做成一个大的,那将是愚蠢的。你可以在不让它们的情况下把它变成一个互相打扰,考虑到它必须顺利运行,我怀疑你可以用不同的项目做你想做的事
  • @Badgy 感谢您的评论。关键是已经有 6 个应用程序由不同的开发人员创建。每个开发人员只关心他自己的应用程序和他自己的构建过程。我们希望找到一种方法,让所有这些应用程序都像首页的模块一样处理。如果一个“模块”因错误而崩溃......其他应用程序应该仍然可以正常工作 - 因为它们是独立的
  • 我不确定如何在不刷新页面和导入新包的情况下执行此操作,但您可以使用一些全局 javascript 来切换不同的 html。如果你不介意刷新页面,可以看一下这个例子,了解如何处理 Vue 和多个“迷你水疗中心”。 Github link
  • 让我们疯狂地使用 iframe。加载时平滑淡入。
  • 为什么不制作一个简单的带有<a href> 链接到应用程序的html 登录页面?如果他们共享相同的风格,用户可能不会注意到有不同的应用程序。

标签: vue.js


【解决方案1】:

迟到的答案,但只是留在这里。 如果您想在不重新加载的情况下切换应用程序,可以尝试服务器端渲染? Nuxt.js 会派上用场,它将您的应用程序转换为静态 HTML 文件。

【讨论】:

    猜你喜欢
    • 2023-02-06
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多