sea.js,具有以下核心特性:
- 简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 node.js 一般书写模块代码。
- 自然直观的代码组织方式:依赖的自动加载、配置的简洁清晰.
Sea.js 还提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口。
兼容性
Sea.js 具备完善的,兼容所有主流浏览器:
Chrome 3+ Firefox 2+ Safari 3.2+ Opera 10+ IE 5.5+
在页面中加载模块
在 hello.html
页尾,通过 script
引入 sea.js
后,有一段配置代码:
// seajs 的简单配置seajs.config({ base: "../sea-modules/", alias: { "jquery": "jquery/jquery/1.10.1/jquery.js" } }) // 加载入口模块 seajs.use("../static/hello/src/main")
模块代码
这个小游戏有两个模块 spinning.js
和 main.js
,遵循统一的写法:
// 所有模块都通过 define 来定义define(function(require, exports, module) { // 通过 require 引入依赖 var $ = require('jquery'); var Spinning = require('./spinning'); // 通过 exports 对外提供接口 exports.doSomething = ... // 或者通过 module.exports 提供整个接口 module.exports = ... });