首页 文章

如何使用非Node.js后端构建现代前端?

提问于
浏览
5

一般来说,我是后端和全栈开发人员和技术主管 . 多年来我一直在选择开发工具 .

对于后端,我选择了Typesafe Stack . 它使应用程序具有反应性,并且相对容易扩展和维护 . 在Scala中编写代码很有趣 .

对于前端,我使用Angular.js,之前它是knockout.js,YUI,Mootools,jquery,vanilla .

但是对于Angular.js,我真的很困惑 . 问题不在于工具本身,而在于Web发展的方式 .

目的是加强应用程序,使其更具响应性,反应性,互动性 . 它将我们引向单页应用程序 . Angular.js对它有好处 .

但是 .

对于现代应用程序,尽快呈现第一页非常重要 . 对于单页面应用程序,在解析主模板,然后加载所有脚本,然后启动应用程序,路由请求,然后向服务器请求一些REST资源,将其绑定到模板,然后将其显示给用户之前,不会发生这种情况 .

等待很多网络延迟!许多顺序请求一个接一个地出现 .

因此,需要花费很长时间才能看到内容 . 此外,它很难通过搜索引擎进行索引,并限制了可访问性(Safari中的Reader模式通常不会考虑angular.js生成的标记) .

那么,人们可以通过prerender.io这样的工具来解决可搜索性问题 . 好吧,即使它看起来很难看,但第一页加载的是什么?

我听说Twitter终于在后端渲染内容,然后用脚本包装它 . 怎么样?

我在node.js上看到了一些具有相同目的的项目 . 它们使用客户端实际获得的相同javascript呈现内容,并将结果html提供给它 . 然后用React.js触发器和代码,甚至angular.js包装它 . 但是如果Node.js后端不是我们的选择呢?

因此要求非常自然:

  • 能够(预)在后端呈现内容

  • 加载后页面上的Wire脚本

  • 不要用脚本生成的内容替换页面内容

  • 对所有其他页面视图使用html5路由

  • 避免使用node.js,至少不要将它用作主要的后端技术

我是否独自反对这个问题?你觉得怎么样?

1 回答

  • 1

    以下是适合您的选项: - 使用node.js中间服务器,该服务器依赖于您选择的服务器技术来获取实际数据和内容 . 亲,您可以在完全移动之前慢慢测试它 . - 两次写入所有模板逻辑两次,一次用于服务器,另一次用于客户端 . 使用node.js可以让你重新使用前端的逻辑,但Angular.js并不完全是节点友好的,因为它依赖于DOM .

    如果您确实希望获得最佳的首页加载体验,那么您应该看看我今天给出的答案:AngularJS SEO for static webpages (S3 CDN)

    当你的角度应用程序加载时,它会让你引导一个静态应用程序,该应用程序使用样式和仅使用CSS的路由 . 希望有所帮助 .

相关问题