首页 > 语言 > JavaScript > 正文

sea.js常用的api简易文档

2024-05-06 15:06:59
字体:
来源:转载
供稿:网友

本文罗列了seajs常用的api和代码示例,下面话不多说,来看看详细的介绍,有需要的朋友们可以参考借鉴。

一、seajs.config

alias

别名配置,配置之后可在模块中使用require调用 require('jquery');

seajs.config({ alias: { 'jquery': 'jquery/jquery/1.10.1/jquery' } });define(function(require, exports, module) { //引用jQuery模块 var $ = require('jquery');});

paths 设置路径,方便跨目录调用。通过灵活的设置path可以在不影响base的情况下指定到某个目录。

seajs.config({ //设置路径 paths: {  'gallery': 'https://a.alipayobjects.com/gallery' }, // 设置别名,方便调用 alias: {  'underscore': 'gallery/underscore' }});

vars

变量配置。有些场景下,模块路径在运行时才能确定,这时可以使用 vars 变量来配置。

vars 配置的是模块标识中的变量值,在模块标识中用 {key} 来表示变量。

seajs.config({ // 变量配置 vars: {  'locale': 'zh-cn' }});define(function(require, exports, module) { var lang = require('./i18n/{locale}.js');  //=> 加载的是 path/to/i18n/zh-cn.js});

map

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

seajs.config({ map: [  [ '.js', '-debug.js' ] ]});define(function(require, exports, module) { var a = require('./a'); //=> 加载的是 path/to/a-debug.js});

preload

使用preload配置项,可以在普通模块加载前,提前加载并初始化好指定模块。

preload中的空字符串会被忽略掉。

// 在老浏览器中,提前加载好 ES5 和 json 模块seajs.config({ preload: [  Function.prototype.bind ? '' : 'es5-safe',  this.JSON ? '' : 'json' ]});

注意:preload中的配置,需要等到 use 时才加载。比如:

seajs.config({ preload: 'a'});// 在加载 b 之前,会确保模块 a 已经加载并执行好seajs.use('./b');

debug

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

base

Sea.js 在解析顶级标识时,会相对 base 路径来解析。

注意:一般请不要配置 base 路径,把 sea.js 放在合适的路径往往更简单一致。

charse

获取模块文件时,<script> 或 <link> 标签的charset属性。 默认是utf-8 charset还可以是一个函数:

seajs.config({ charset: function(url) {  // xxx 目录下的文件用 gbk 编码加载  if (url.indexOf('http://example.com/js/xxx') === 0) {   return 'gbk';  }  // 其他文件用 utf-8 编码  return 'utf-8'; }});            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选