Javascript Angular.js的优雅改进(而不是降级)?

Javascript Angular.js的优雅改进(而不是降级)?,javascript,json,angularjs,jekyll,graceful-degradation,Javascript,Json,Angularjs,Jekyll,Graceful Degradation,我们正在重新启动公司的登录页(包含信息、作业、团队和帮助部分),并决定不再仅为这部分服务维护Rails项目,因此将切换到静态HTML 由于我们想让我们的人力资源和支持团队有机会编辑文本(特别是在作业和帮助部分),而不会干扰开发团队,我们将在页面上运行Angular.js应用程序,并使用JSON APi(如Wordpress.com提供的或我们甚至可能使用的APi)修补内容 然而,由于我们需要快速加载我们的登录页(转换为王),我们考虑将登录页的初始部分作为静态HTML提供,并在用户访问最重要的信息

我们正在重新启动公司的登录页(包含信息、作业、团队和帮助部分),并决定不再仅为这部分服务维护Rails项目,因此将切换到静态HTML

由于我们想让我们的人力资源和支持团队有机会编辑文本(特别是在作业和帮助部分),而不会干扰开发团队,我们将在页面上运行Angular.js应用程序,并使用JSON APi(如Wordpress.com提供的或我们甚至可能使用的APi)修补内容

然而,由于我们需要快速加载我们的登录页(转换为王),我们考虑将登录页的初始部分作为静态HTML提供,并在用户访问最重要的信息后优雅地添加Angular.js。我们不在乎被停用JS的用户是否不能使用我们页面的其余部分,因此我们将此过程称为优雅的改进

是否有任何最佳实践和/或Angular.js模块可以实现我刚才描述的目标?这种效果的正确术语是什么


注:我们将通过使用Phantom.js呈现我们的登录页面(团队、作业等)的其余部分来处理SEO,因此SEO不是一个主题。这只是关于登录页面初始部分的加载速度。

您可以呈现静态页面(无论您希望以何种方式生成),并在页面加载后添加事件侦听器。然后在事件侦听器中,您可以利用手动启动应用程序。这样Angular就可以尽情享受,而不会让用户陷入困境。

phantomjs是一款无头浏览器,这对SEO有什么帮助?我们将使用Phantom.js将Angular.js应用程序的不同部分呈现到静态HTML页面,我们将为搜索引擎提供服务。就像这篇博文中描述的:明白了。回答一些建议。嗨!不幸的是,我认为您不会找到一个简单的方法来解决Angular的这个问题,因为Angular需要编译所有的模板来设置绑定和所有的功能。你可能有一些东西可以输出带有角度标记的主页面,但是是的,这将是一个额外的工作,而不是现成的。另一个可能的解决方案是使用一些不太依赖于特定标记的东西,比如ReactJS。我最近做了一个关于这个主题的演讲(),您也可以从jsconf.eu()查看Pete的演讲。实际上,我正试图使用这个和contentful(免责声明:我为contentful工作)构建一个演示应用程序,但不幸的是,他们的服务器渲染示例中间件(也加载其他JS模块)还不能很好地处理所有问题。谢谢!是的,我也在考虑这个方向,但是,我看到了两个问题:#1:访问www.company.com/help/me/的用户应该立即与Angular.js联系,因为服务器级别没有路由。我们可以通过检查document.URL的内容并在页面准备就绪之前加载Angular.js来解决这个问题,以防用户不在索引中。但是有更好的办法吗#2:我如何告诉Angular.js在页面准备好但用户仍在索引中时不要替换ngView的内容?只有在用户导航离开索引后,它才应该替换ngView。@zerodot一个实用的解决方案是在索引中根本没有角度,而只是在登录页中。例如
misite.com
普通静态/手动站点。然后你可以在索引中有手动链接,比如说,
mysite.com/app/#/help
mysite.com/app/#/jobs
,其中app是angular mixin应用程序的根。没错,这肯定会起作用,尽管它会让整个程序的维护和部署变得有点复杂。但如果我在接下来的几个小时内找不到更优雅的解决方案,我会接受的,谢谢!