Javascript 如果对前端代码进行分组有助于减少请求,那么为什么不&x27;在一个html文档上写更多的网站吗?

Javascript 如果对前端代码进行分组有助于减少请求,那么为什么不&x27;在一个html文档上写更多的网站吗?,javascript,Javascript,我想我要问的是,如果将JavaScript分组被认为是一种好的做法,为什么不更多的网站将JavaScript和CSS直接放在一个HTML文档中?当一个文档中有很多代码时,使用代码会更困难,因为您需要更多的时间来找到需要更改的字符串 这就是为什么将代码划分为单独的文件是一种好的做法,每个文件都解决自己的特殊任务,然后在必要时将其包含在代码中 但是,您可以编写一个脚本,将文件从包含许多文件的开发版本连接到包含较少文件的发布版本,但这会带来两个问题: 人们通常懒得编写额外的代码来创建此脚本,然后在项目

我想我要问的是,如果将JavaScript分组被认为是一种好的做法,为什么不更多的网站将JavaScript和CSS直接放在一个HTML文档中?

当一个文档中有很多代码时,使用代码会更困难,因为您需要更多的时间来找到需要更改的字符串

这就是为什么将代码划分为单独的文件是一种好的做法,每个文件都解决自己的特殊任务,然后在必要时将其包含在代码中

但是,您可以编写一个脚本,将文件从包含许多文件的开发版本连接到包含较少文件的发布版本,但这会带来两个问题:

  • 人们通常懒得编写额外的代码来创建此脚本,然后在项目结构变得更复杂时对其进行更改

  • 如果您发现一个bug或添加了一个小功能,那么您将需要在开发版本和发布版本中重新构建您的项目


  • 它们将它们分开,以便多个网页可以使用同一个文件。当您更改单个文件时,也可以更新多个页面。此外,大的HTML文件会导致下载时间过长

    为什么没有更多的网站将JavaScript和CSS直接放在一个HTML文档中

    单个文件缓存。

    • 外部文件具有缓存的优点。由于脚本和样式很少更改(静态)和/或在页面之间共享,因此最好将它们与页面分开,使页面更轻

      与其下载带有嵌入式JS和CSS的500kb页面数据,不如加载5kb的页面,并从缓存中加载495kb的JS和CSS,这样可以节省495kb的带宽,并避免额外的2个HTTP请求

    • 虽然可以将JS和CSS嵌入到页面中,但页面很可能是动态的。这将使页面始终加载新副本,使每个请求都非常繁重

    模块化代码

    • 想象一个WordPress站点。它们是使用世界各地不同开发人员制作的大量小部件构建的。处理一页中塞满的那么多代码是可能的,但不可想象

    • 如果某些代码只是短路或在您的站点上不起作用,那么将链接外部文件的代码取出会更容易,而不是在页面中搜索相关代码,并可能意外地从另一个小部件中删除代码

    关注点分离

    • 将HTML与CSS和JS分开也是最佳实践。那样的话,你要处理的不是意大利面

    此外,如果一个网站变得很大,通常是团队的努力。让许多人在同一个代码文件上工作并不有趣。加上缓存文件通常“加载”(304未修改状态)要快得多。如果你在一个html文件中做一个小的编辑,它就不会像把所有东西都放在一个文件中那样再次下载缓存的css和js。