【问题标题】:Should I render everything at the server when I decided to Server-side render?当我决定进行服务器端渲染时,是否应该在服务器上渲染所有内容?
【发布时间】:2016-12-13 07:25:57
【问题描述】:

我正在编写一个使用服务器端渲染的社交网站,

例如,当用户创建帖子时,用户从服务器接收到呈现的帖子 (HTML),

并将 HTML 附加到 Dom。

--

问题来了,

当我选择在服务器上渲染所有内容时,

我应该在哪里渲染“小东西”?

例如,如果我想在用户上传照片之前生成照片预览,

我应该在客户端创建一个标签吗,

然后用 JavaScript 修改它,

或者只是从服务器请求预览以使您的网站“完全”服务器端呈现?

如果我选择前一种方案,我的网站将变得难以管理(因为它就像 cilent-side render 加上 server-side render ,这让我很难管理模板)

我更喜欢后一种解决方案,这样我就可以在服务器上管理我的所有模板,

但这取决于网速,一旦用户离线我就不能做任何事情,

我该怎么办?

【问题讨论】:

    标签: php render server-side-rendering


    【解决方案1】:

    嗯,会说你关于在哪里渲染“小东西”的问题将得到一个模糊的答案。这似乎是一个无害的问题,但答案将由更复杂的问题来回答! IMO,问这个问题要好得多,而不是对所有事情都应用服务器更好的myopic view

    一般来说,我通过一些约束来查看每个渲染任务所有这些都可能因用户而异!!

    - origin of content (is the information coming from the client?)
    - delivering content (network infrastructure)
    - viewing content (client hardware)
    

    所以,让我们试着回答一些具体的问题:

    例如,如果我想在用户上传照片之前生成照片预览, 我应该在 cilent 端创建一个标签,然后用 JavaScript 修改它, 还是只是从服务器请求预览以使您的网站“完全”在服务器端呈现?

    照片是否来自服务器?

    :有服务器渲染预览

    :让客户端渲染它

    在阅读了这篇Twitter 文章的第一个视图段落后,我得出的结论是,它们的内容最好在服务器上呈现。但进一步阅读,表明他们正在混合他们的渲染 - 一些客户端和一些服务器(复杂 - 就像你说的那样!)。

    但是,这个结论是在8 MONTHS 拥有 1 亿用户 之后得出的!因此,成为pragmatic 并选择能够让您以最低复杂性构建应用程序的呈现方法。

    【讨论】:

      【解决方案2】:

      几个月后,我决定坚持使用 Vue.js 进行 Cilent 端渲染(我必须重写所有内容,耶),

      原因是:

      1. 更容易管理模板页面
      2. 非常适合存储离线使用的数据(因为 CSR 只获取数据,而不是整个页面)。
      3. 分离渲染工作,这样我就可以在我的服务器上花更少的钱
      4. 因为一切都会始终输出到浏览器

      【讨论】:

        猜你喜欢
        • 2021-07-13
        • 2017-04-26
        • 1970-01-01
        • 2017-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-20
        • 1970-01-01
        相关资源
        最近更新 更多