Javascript <;中的RequireJS脚本标记;头>;还是在页面底部?

Javascript <;中的RequireJS脚本标记;头>;还是在页面底部?,javascript,dom,dependencies,requirejs,amd,Javascript,Dom,Dependencies,Requirejs,Amd,RequireJS脚本标签应该位于HTML页面的或底部吗 <script data-main="resources/js/main" src="require.js"></script> 我见过一些有声望的消息来源将RequireJS脚本标记放在这两个位置,但似乎没有一个有声望的消息来源明确指出理想的位置在哪里 在头部放置标记的理由是,在页面继续加载时,RequireJS可能已经开始异步加载和执行依赖脚本(尽管这一收益可能很小) 将标记放在页面底部的参数是,在模块中

RequireJS脚本标签应该位于HTML页面的
或底部吗

<script data-main="resources/js/main" src="require.js"></script>

我见过一些有声望的消息来源将RequireJS脚本标记放在这两个位置,但似乎没有一个有声望的消息来源明确指出理想的位置在哪里

在头部放置标记的理由是,在页面继续加载时,RequireJS可能已经开始异步加载和执行依赖脚本(尽管这一收益可能很小)


标记放在页面底部的参数是,在模块中不需要检查DOM是否准备就绪(但如果模块用于在
标记中加载脚本的第三方系统,则不包括此检查可能会导致问题).

一般的最佳实践是始终将脚本放在底部

你可能已经看到人们把它放在头上,因为它并没有起到很大的作用

我推荐在底部,因为您希望在生产之前构建脚本,否则将在头部加载所有脚本


请注意,如果您运行的是“单页应用程序”,那么它实际上并不重要,因为您的正文可能是空的,或者几乎是空的。

将其放在页面底部,这样对性能更有利,如果您计划操作页面(如预期的那样),那么您希望它首先加载页面

除少数例外,最佳实践始终是:

  • 加载样式(css)
  • 加载结构(html)
  • 加载脚本(功能)

我正在做一个项目,有很多模板和大约1MB的js页面加载,将requireJS放在页面顶部有它的好处。Require可以在其他html下载时开始调度和解析js。此外,我们注意到,这允许我们在所有html关闭之前在页面中“需要”css


我今天确实发现了一个警告,如果页面中的require在script标记的开头/前面加载,脚本标记可能会执行两次。我正在尝试创建一个要调试的示例。

Hi!我正在尝试使用RequireJs。我观察到,无论您将requirejs脚本标记放在head还是body中,它总是在head中加载依赖脚本。我有没有办法强迫Requirejs加载底部所有依赖的Java脚本?是的,能够通过Requirejs尽快加载CSS是一个优势。