哪个更可取:冗余的HTML布局,还是不必要的JavaScript执行?

哪个更可取:冗余的HTML布局,还是不必要的JavaScript执行?,javascript,html,performance,jekyll,Javascript,Html,Performance,Jekyll,我正在使用Jekyll构建一个在所有页面上风格一致的网站。大多数页面都使用名为default.html的布局文件设置样式。然而,在一个特定的页面上,我需要使用通过rel标签调用的JavaScript。在所有其他方面,此页面的格式与其同级页面相同 在这种情况下,哪一种更可取: 创建与default.html几乎相同的冗余布局文件,但包含必要的JavaScript,或 将JavaScript放入default.html中,然后每隔一页执行一次无用的执行 在性能方面——在一个简单的示例中,只有一个页面

我正在使用Jekyll构建一个在所有页面上风格一致的网站。大多数页面都使用名为
default.html
的布局文件设置样式。然而,在一个特定的页面上,我需要使用通过rel标签调用的JavaScript。在所有其他方面,此页面的格式与其同级页面相同

在这种情况下,哪一种更可取:

  • 创建与
    default.html
    几乎相同的冗余布局文件,但包含必要的JavaScript,或
  • 将JavaScript放入
    default.html
    中,然后每隔一页执行一次无用的执行
  • 在性能方面——在一个简单的示例中,只有一个页面需要JavaScript,我假设第一个选择是两个缺点中的较小者,因为您只需要发出一个额外的HTTP请求,而不是许多无用的JavaScript调用。然而,随着规模的扩大,情况并不总是如此


    那么,在使用markdown模板管理的单个页面上处理JavaScript执行的最佳方式是什么呢?无论是从性能角度还是从风格角度来看,我首先想,因为这样您就不会在不需要代码的地方出现任何错误。 因此,将javascript放在一个类似“yourfile.js”的文件中,并使用


    这应该是最好的

    如果必须包含Javascript,您可以为额外页面的内容提供一个真实的变量

    ---
    layout: default.html
    incScript: true
    ---
    
    然后,在
    default.html
    中,使用Liquid有条件地包含脚本:

    {% if page.incScript %}
      ... include script here
    {% endif %}
    

    好极了我知道一定有办法通过设计来处理这种情况。如果我对Liquid的理解是正确的,那么这些条件是在构建过程中处理的,因此对客户端没有性能影响。是的,在构建过程中,Jekyll离线处理Liquid。对客户没有任何性能影响。