seajs--模块启动
Posted michael_yqs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了seajs--模块启动相关的知识,希望对你有一定的参考价值。
首先引入seajs,然后使用seajs.use(“./a",[callback])seajs还可以并发加载多个模块:
// // 并发加载模块 a 和模块 b,并在都加载完成时,执行指定回调
seajs.use(['./a', './b'], function(a, b)
a.init();
b.init(););
seajs.use与DOM ready事件没有任何关系,若某些操作需要确保在DOM ready之后执行,则需要使用jquery类库来保证,如
seajs.use(['jquery', './main'], function($, main)
$(document).ready(function()
main.init();
););
在调用 seajs.use 之前,需要先引入 sea.js 文件,推荐直接使用 script 标签同步引入:
<script src="path/to/sea.js"></script>
为了满足某些场景下的性能优化需求,也可以将 sea.js 的源码内嵌:
<script>// sea.js 的源码</script>
注意:代码内嵌时,需要通过 seajs.config 手动配置 base 路径。
最佳实践
1. seajs.use 理论上只用于加载启动,不应该出现在 define 中的模块代码里。在模块代码里需要异步加载其他模块时,推荐使用 require.async 方法。
2. 引入 sea.js 时,可以把 sea.js 与其他文件打包在一起,可提前合并好,或利用 combo 服务动态合并。无论哪一种方式,为了让 sea.js 内部能快速获取到自身路径,推荐手动加上 id 属性:
<script src="path/to/sea.js" id="seajsnode"></script>
加上 seajsnode 值,可以让 sea.js 直接获取到自身路径,而不需要通过其他机制去自动获取。这对性能和稳定性会有一定提升,推荐默认都加上。
小结seajs.use 是模块加载器必备的一个接口。在 seajs 上,还有用于配置的 config 方法、方便调试的 cache 等接口,这些会在接下来的文档中详细阐述。
以上是关于seajs--模块启动的主要内容,如果未能解决你的问题,请参考以下文章