【问题标题】:How to get Meteor's routing/instant page change effect, without Meteor?如何在没有 Meteor 的情况下获得 Meteor 的路由/即时换页效果?
【发布时间】:2015-03-30 16:19:30
【问题描述】:

对于那些不熟悉 Meteor 框架的人来说,当您使用顶部导航进行导航(例如)时,页面更改几乎是即时的,不会导致典型的页面更改/页面加载。当然,您可以使用.load() 在 jQuery 中完成此操作,但有关 Meteor 的事情是,您可以在其他网站上拥有指向您网站上特定页面的链接,例如 http://example.com/about 并且 Meteor 会直接带您到那个页。这有利于 SEO。

我的问题:

如果我不使用Meteor,如何实现这种即时页面切换效果,地址栏中的URL发生变化,每个页面都有完全可链接的页面(不是http://example.com/#about)。如果我能像使用 HTML 和 jQuery 一样简单,那就太好了。

PS:如果解决方案涉及使用 Apache 或 nginx 重写,我可以接受。

【问题讨论】:

    标签: jquery meteor


    【解决方案1】:

    看起来您正在构建single-page application。实现您描述的链接功能的 SPA 部分是“路由器”,对于 Meteor,您可能使用过 iron:router

    iron:router 所做的是使用HTML5 pushState() API 来操作浏览器历史记录和 URL 栏。

    如果您是 Web 应用程序开发的新手,您可能会想要一个能够做到这一点的库。你绝对do not want AngularJS (see why)。然而,事实证明such no-hashtags routing libraries 并不常见......有什么理由不将 Meteor 与 Iron:router 一起使用?

    【讨论】:

    • 糟糕,我刚刚运行 yo angular --coffee 来启动一个 Angular Web 应用程序,因为我想要 pushState。 :)
    • PS:对 Web 应用开发一点也不陌生。
    • 很想使用 Meteor,但我的服务器设置为典型的 Apache 服务器。没有 Node.js。
    • Node.js 和 Apache 是正交的。顺便说一句,nginx is for 99% of the cases a much better alternative than Apache.。你不能install Meteor吗?你用什么做后端,还是用no backend at all
    • 是的,我在端口 80 上有一个需要 Apache 的关键任务应用程序。但是,是的,Apache 也有 ProxyPass。这实际上应该是小菜一碟。谢谢你的鼓励! :) 我开始接触 Angular,但真的很喜欢它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 2013-01-02
    • 2019-10-06
    相关资源
    最近更新 更多