【问题标题】:NodeJs Rendering HTML Template + Logic at server sideNodeJs在服务器端渲染HTML模板+逻辑
【发布时间】:2016-12-08 04:41:24
【问题描述】:

您好,我正在我现有的基于 Angular 1 的 UI 项目中开发一个小部件模块。这个小部件应该包含实时信息。

根据我的设计,我想在发出第一个请求时从节点服务器(可能使用 express js)向客户端发送 html 视图。但由于数据需要实时,我无法每分钟发送完整的html(每次都会重复模板传输)。

所以我是否可以将模板连同一组 java 脚本函数一起发送给客户端,以便当客户端想要刷新数据时,他只会调用发送的 javascript 函数,而我的 javascript 函数会在内部生成休息调用,从服务器获取 json 响应并再次重新填充最初发送的 html。

这样,我计划在服务器端进行初始渲染,然后使用服务器提供的逻辑在客户端进行后续渲染。在这里,客户端将不知道它正在渲染哪个小部件以及它具有什么功能。所有这些都将由服务器发送的js控制。

请让我知道如何实现这一点,因为我发现 ejs 没有达到这个目的。使用 ejs,我只需要将所有逻辑都放在服务器端。而我计划在运行时将逻辑从服务器传输到客户端。

另外,如果我的设计有一些严重的问题,请提出一些其他的替代方案。谢谢

【问题讨论】:

    标签: javascript angularjs node.js express server-side-rendering


    【解决方案1】:

    Angular1server side rendering 不友好,因为它需要浏览器 DOM。使用任何模板引擎也无济于事,因为它们生成的 html 不会被 Angular 应用程序拾取。

    使用 phantomjs 无头浏览器实例通过运行您的 angular1 应用程序代码生成 html,然后在脚本加载后 angular 将在客户端运行。

    我建议切换到 Angular2React,因为它们对 server side rendering 很友好

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-25
      • 2017-09-08
      • 1970-01-01
      • 2012-01-22
      • 2013-02-11
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      相关资源
      最近更新 更多