页面底部或底部的RequireJS脚本标记?

时间:2014-01-15 21:12:42

标签: javascript dom dependencies requirejs amd

RequireJS脚本标记是否应位于HTML页面的<head>或底部?

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

我见过有信誉的来源将RequireJS脚本标记置于任一位置,但没有信誉良好的来源似乎明确说明理想位置在哪里。

标记置于头部的参数是,在页面继续加载时,RequireJS可能已经开始异步加载和执行相关脚本(尽管这种增益可能微不足道)。

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

3 个答案:

答案 0 :(得分:2)

一般最佳做法是始终将脚本放在底部。

你可能已经看到人们在HEAD中包含它,因为它没有产生很大的不同。

我建议在底部,因为你需要在制作之前构建你的脚本,否则你最终会把所有脚本加载到头部。

请注意,如果您正在运行“单页应用程序”,那么因为您的身体可能是空的 - 或者几乎是空的,这无关紧要。

答案 1 :(得分:1)

把它放在页面的底部,它的性能更好,如果你打算操纵页面(按预期的那样),那么你希望它首先加载页面。

除了少数例外,最佳做法始终是:

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

答案 2 :(得分:1)

我正在开发一个包含大量模板和页面加载大约1MB js的项目,并且在页面顶部放置requireJS有其优惠。需要可以开始调度和解析js,而其余的html下载。此外,我们注意到,这允许我们在所有html出现之前在页面中“要求”css。

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