gpt4 book ai didi

isomorphic-javascript - 同构应用程序是否意味着前后站在一起?

转载 作者:行者123 更新时间:2023-12-04 08:24:59 24 4
gpt4 key购买 nike

我一直在使用 Angular 2 Universal 进行同构应用程序开发但有一件事我脑子里想不明白。

我的理解是,在不同的模块上保持后端和前端是一种很好的做法,但在使用 MEAN 应用程序时,这似乎不是一种常见的模式。

所以,我即将开始一个可以扩展的项目,我想在未来实现服务器端渲染,但我不知道应该采用哪种方法。老实说,我更愿意将后端和前端分开,但如果是这样,以后是否可以实现服务器端渲染

此外,假设我在两边都复制了index.html,当第一次服务器渲染完成时,服务器是否能够将控制委托(delegate)给客户端?我的意思是,鉴于他们不在同一个项目中,我无法想象该委托(delegate)将如何工作。

提前致谢。

最佳答案

据我了解,您是在谈论渲染 UI,这是应用程序的前端部分,即使您在服务器上进行预渲染工作也是如此。

这个预渲染只是优化,你可以把它放在一些单独的代码层,但我相信同构 javascript 的整个思想是在客户端和服务器上重新使用相同的代码。这种尝试复制代码和/或模板的方式不是一个好主意(从来都不是)。

如果你真的想把事情分开,考虑把你的应用程序拆分成更多的服务:

  • 后端服务器应用程序 - 数据库之上的某种 rest API,它包含所有业务逻辑(第一个 node.js 应用程序)
  • 前端服务器应用程序 - 另一个 node.js 应用程序,它通过 HTTP 请求从 API 获取数据并进行服务器端预渲染(第二个 node.js 应用程序)
  • 前端——所有在浏览器中运行的代码

这样,最初“前端服务器应用程序”可以是“前端”和“后端服务器应用程序”之间的简单代理。稍后您可以使用服务器端渲染对其进行扩展。

重要说明:如果您打算在不在服务器上进行预渲染的情况下开发应用程序并在稍后阶段添加它,您需要考虑到并非所有浏览器端的 javascript 功能都可以在服务器上运行(例如例如,使用原生 DOM 元素进行操作),请参阅 best practices section in angular universal readme .

关于isomorphic-javascript - 同构应用程序是否意味着前后站在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37546985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com