SeaJS 3.0 发布,JavaScript 模块加载框架

n7w77 9年前

SeaJS 3.0 发布了,改进记录包括:

  • 统一提取依赖逻辑至searequire,运行时支持

  • 合并pass-entry算法,原生支持Node.js的简单循环引用

  • es6 module转换和兼容

  • 拆分为普通版(当前),运行时(无提取依赖和匿名模块逻辑支持),standalone(合并为单独文件无任何逻辑的mini)

  • 适度考虑运行时对低版本IE的支持降级(普通版仍保留现状)

  • 持续改进和修复问题

  • 增加error错误抛异常

为什么使用 Sea.js ?

Sea.js 追求简单、自然的代码书写和组织方式,具有以下核心特性:

  • 简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js 一般书写模块代码。
  • 自然直观的代码组织方式:依赖的自动加载、配置的简洁清晰,可以让我们更多地享受编码的乐趣。

Sea.js 还提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口。

兼容性

Sea.js 具备完善的测试用例,兼容所有主流浏览器:

Chrome 3+         ✔  Firefox 2+        ✔  Safari 3.2+       ✔  Opera 10+         ✔  IE 5.5+           ✔

Sea.js 可运行在 Mobile 端,包括 Hybrid 模式的 App 上。理论上,Sea.js 可以运行在任何浏览器引擎上。

下面是一段典型的初始化入口代码:

<script src="sea.js"></script>  <script>    seajs.use('./init', function(init) {      init.something();    });  </script>