gpt4 book ai didi

javascript - 为什么我需要加载 JavaScript 模块,所有这些加载器之间有什么区别?

转载 作者:数据小太阳 更新时间:2023-10-29 04:11:53 26 4
gpt4 key购买 nike

问题 1:

为什么我需要在网页中异步加载我的 JavaScript 文件?我可以在服务器端看到它的基本原理,但是如果我知道我需要在客户端加载的所有文件,为什么我不应该将我的所有源文件连接成 1 个文件并在页面加载时加载它?首次初始页面加载是否如此重要,以至于 future 的操作可能会因检索每个 JS 文件的延迟而变慢?

问题 2:

假设问题1的答案是我需要单独加载JS文件:

AMD 异步加载每个 JS 文件,CommonJS 同步加载。服务器端加载需要 CJS(如果我没记错的话,这就是 Node.js 的工作方式)。 AMD 似乎更适合客户。因此,在客户端使用 CJS 的唯一原因是与服务器共享代码。

有没有什么办法可以让AMD和CJS很好的发挥,让客户端JS文件可以异步加载但仍然有CJS语法?

(require.js 到底做了什么?我一辈子都看不懂他们网站上的字里行间。)

最佳答案

您“不需要”异步或通过某些自定义加载器加载 javascript 文件。以下是异步加载或自定义加载可能带来好处的一些原因:

  • 当通常不需要 javascript 文件并且您可能希望按需加载它而不是一直加载它时
  • 当初始页面显示不需要 javascript 文件并且您想最大限度地提高页面首次显示的速度时
  • 当你想控制加载 javascript 文件的准确时间时
  • 当您根据某些情况决定是否加载 javascript 文件时(例如,如果从 CDN 加载失败,您可能会从备份位置加载)
  • 当您希望脚本加载与其他事情并行进行而不是一个接一个地序列化时

如果您不需要这些好处中的任何一个或程序加载提供的一些其他好处,那么您可以只使用普通的 <script>标记并让它们同步加载。

关于javascript - 为什么我需要加载 JavaScript 模块,所有这些加载器之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12697437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com