Skip to content

sea.js常用API

Nevermore Liu edited this page Apr 27, 2015 · 10 revisions

seajs.config

可以对 Sea.js 进行配置,让模块编写、开发调试更方便。多次配置自动合并

seajs.config({

// 别名配置 alias: { 'es5-safe': 'gallery/es5-safe/0.9.3/es5-safe', 'json': 'gallery/json/1.0.2/json', 'jquery': 'jquery/jquery/1.10.1/jquery' },

// 路径配置 paths: { 'gallery': 'https://a.alipayobjects.com/gallery' },

// 变量配置 vars: { 'locale': 'zh-cn' },

// 映射配置 map: [ ['http://example.com/js/app/', 'http://localhost/js/app/'] ],

// 预加载项 preload: [ Function.prototype.bind ? '' : 'es5-safe', this.JSON ? '' : 'json' ],

// 调试模式 debug: true,

// Sea.js 的基础路径 base: 'http://example.com/path/to/base/',

// 文件编码 charset: 'utf-8' });

alias:当模块标识很长时,用来简化之;

paths:当目录比较深,或需要跨目录调用模块时,可以使用 paths 来简化书写

vars:用来配置模块变量:有些场景下,模块路径在运行时才能确定,这时可以使用 vars 变量来配置。vars 配置的是模块标识中的变量值,在模块标识中用 {key} 来表示变量。

map:模块路径映射:该配置可对模块路径进行映射修改,可用于路径转换、在线调试等。

preload:模块预加载:可以在普通模块加载前,提前加载并初始化好指定模块。

debug:值为 true 时,加载器不会删除动态插入的 script 标签。插件也可以根据 debug 配置,来决策 log 等信息的输出。

base:Sea.js 在解析顶级标识时,会相对 base 路径来解析。详情请参阅模块标识

charset:获取模块文件时,script 或 link标签的 charset 属性。 默认是 utf-8

配置文件:配置可以直接写在 html 页面上,也可以独立出来成为一个文件。

seajs.use

用来在页面中加载一个或多个模块。

// // 并发加载模块 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();
  });
});

define

require