【问题标题】:Angular Universal DeploymentAngular 通用部署
【发布时间】:2020-11-06 16:09:51
【问题描述】:

如果有人能澄清托管服务器是否有必要支持 node.js 以使 Angular Universal 工作,我将不胜感激。我是否需要将 dist 中的浏览器和服务器文件夹上传到主机。如果是,关于托管提供此类支持的任何建议?其次,除了node.js还有其他方法可以让服务器端渲染工作吗?

【问题讨论】:

  • 为什么要避免使用 Node.js?
  • 您应该能够运行npm run prerender 并将dist 文件夹的输出上传到您的http 网络服务器或仅支持您使用的任何后端的网络服务器。但是,您将无法在组件上拥有可变数据

标签: node.js angular server-side-rendering angular-universal


【解决方案1】:

在回答这个问题之前,让我们用外行的语言了解一些 SSR 和 CSR 的基础知识。

CSR 或客户端渲染

当 Web 应用程序在浏览器(客户端)上呈现时。这里浏览器首先下载所有的html css和js。比 JS(your-some-awesome-framework)在浏览器上运行并决定最终网页的外观和行为。

SSR 服务器端渲染

当 Web 应用程序在服务器(服务器端)上呈现时。在这里,JS(your-some-awesome-framework)已经在服务器上完成了大部分工作。因此,在您的浏览器上,您无需延迟 JS 启动、绑定和渲染即可获得网页。


现在有两种渲染方式——

动态 SSR静态预渲染 SSR

动态 SSR 当实时服务器动态生成和序列化应用程序时。当用户点击网站的 URL 时,服务器首先生成网页并提供内容。

静态预渲染 SSR 当已经有一个预渲染的静态文件并且浏览器简单地提供这些文件时。


现在是关于角度框架的问题的答案。

  1. 托管服务器是否必须支持 node.js 才能使 Angular Universal 正常工作?

对于静态预渲染 SSR - NO,不需要。

对于动态 SSR - 技术上是,见下文

  1. 我需要将 dist 中的浏览器和服务器文件夹都上传到主机吗?

对于静态预渲染 SSR - 可以托管文件的任何服务器上的浏览器文件夹

对于动态 SSR - nodeJs 支持服务器上的服务器文件夹。

  1. 除了 node.js 还有其他方法可以让服务器端渲染工作吗?

有一些方法可以通过 ASP.NET 运行 node 核心和其他选项也是如此。但是对于动态 ssr,nodeJs 将会出现。

【讨论】:

    猜你喜欢
    • 2016-11-26
    • 2017-12-16
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    相关资源
    最近更新 更多