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--模块启动的主要内容,如果未能解决你的问题,请参考以下文章

前端技术 - SeaJS学习

SeaJS基本开发原则

seajs模块路径解析 简单总结

seajs实现JavaScript 的 模块开发及按模块加载

模块化之SeaJS

SeaJS:一个适用于 Web 浏览器端的模块加载器