单页应用程序没有URL

3

我即将加入一个团队,他们正在开发一个单页应用程序。它是用 AngularJS 编写的,但这不是我们讨论的重点。

这个应用程序非常复杂(有许多独立视图,每个视图内部都有不同的复杂状态),以至于他们完全删除了路由(除了默认路由)。

我在网上搜索,但没有看到任何不尝试正确处理 URL 的 Web 应用程序示例。除了“这不是优雅的方式”之外,不使用任何 URL 是否存在任何风险?

编辑:ui-router 无法解决此问题:https://github.com/christopherthielen/ui-router-extras/issues/90


有趣的是他们移除了路由器,因为它变得太复杂了。路由器应该通过将功能移动到自己的模块中来解决复杂性。 - Dieterg
3个回答

0

听起来你想要研究像UI-Router这样可以工作在状态上的东西。

https://github.com/angular-ui/ui-router

如果您以这种方式进行操作,我无法想象您的应用程序会出现任何重大问题,但我可以看到控制器和代码会变得非常臃肿,以尝试解决您发现的任何问题。


不,这不是问题所在。该应用程序对于ui-router来说过于复杂,已经尝试过但被放弃了。 - bdavidxyz

0

正如@Varedis所说,您可以使用ui-router,但是为了回答您实际的问题,请考虑URL的用例。

如果您只有一个URL,则只有一个入口点进入您的应用程序。如果用户希望能够快速转到应用程序中的某个区域(状态),这可能很烦人。只有一个URL意味着用户无法将应用程序的任何特定部分作为书签、直接访问或在搜索引擎中找到。

您可以使用其他机制,如cookie或LocalStorage来跟踪状态,但这些机制对用户不太可见。


0

我正在开发一个项目,一个月前我创建了ui-router-extras,它提供了并行状态,但是它不能实例化超过一个状态实例

有其他解决方案吗?


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