20160228 RequireJS

RequireJS

RequireJS 是 JavaScript 文件和模块加载程序,优化了浏览器使用,但它可以用于其他的 JavaScript 环境,像 Rhino 和 Node。使用像 RequireJS 这样的模块化脚本加载程序将提升你的代码的速度和质量。

<!-- data-main 属性说明在加载 require.js 后加载 myScript.js -->
<script data-main="scripts/myScript.js" src="scripts/require.js" async></script>

刚刚写加载 Require.js,然后在官方教程看到:
You could also place the script tag end of the section if you do not want the loading of the require.js script to block rendering. For browsers that support it, you could also add an async attribute to the script tag.
可以将加载放到 body 里,如果不想让 Require.js 阻塞渲染的话,想看看具体的渲染机制,然后也可以用 async 属性在支持的浏览器中。

接着去查了 async 属性:
This is all summarized in the following schematic diagram
parser: 解析器;fetch: 获取;execution: 执行
async:浏览器兼容的话,异步执行脚本,对内联脚本没有影响(脚本没有 src 属性)
github