// seajs 的简单配置
seajs.config({
    base: "/scripts/",
    alias: {
        "jquery": "jquery.js"
    }
})

//情况一、如果定义和调用在同一个文件
//实例一:define、use
//必须声明模板标识
define("user", function () {
    alert("用户信息");
});
// 加载入口模块
seajs.use("user")

//实例二:require,require 的参数值 必须 是字符串直接量。
define("sex", ["男", "女"]);
define("user", function (require) {
    // 通过require 引入依赖
    var sex = $ = require('sex');
    alert(sex[0]);
});
// 加载入口模块
seajs.use("user")

//实例三:exports
define("account", function (require, exports) {
    // 通过 exports 对外提供接口
    exports.profile = {
        name: "姓名",
        sex: "男"
    }
    exports.islogin = function () {
        return true;
    }
});
define("user", function (require) {
    // 通过require 引入依赖
    var account = $ = require('account');
    //加载exports接口
    alert(account.profile.name);
    alert(account.islogin());
});
// 加载入口模块
seajs.use("user")

//实例三:module.exports
define("account", function (require, exports, module) {
    function account() { }
    account.prototype.name = "姓名";
    // 或者通过 module.exports 提供整个接口
    module.exports = account;
});
define("user", function (require, exports, module) {
    // 通过require 引入依赖
    var account = $ = require('account');
    //加载module.exports接口
    var ac = new account();
    alert(ac.name);
});
// 加载入口模块
seajs.use("user")

//实例四:插件开发:seajs.on(event, callback)
// 给 account 事件添加一个回调
seajs.on('account', function (data) {
    alert("插件开发指南");
});
// 加载入口模块
seajs.emit('account', {});

事件类型
内部提供了 8 种事件
resolve       -- 将 id 解析成为 uri 时触发
load          -- 开始加载文件时触发
fetch         -- 具体获取某个 uri 时触发
request       -- 发送请求时触发
define         -- 执行 define 方法时触发
exec         -- 执行 module.factory 时触发
config         -- 调用 seajs.config 时触发
error          -- 加载脚本文件出现 404 或其他错误时触发

自定义事件
seajs.on(event, callback)
移除事件回调
seajs.off seajs.off(event, callback)
seajs.off(event);
seajs.off();
触发事件
seajs.emit seajs.emit(event, data)

seajs 使用文档的更多相关文章

  1. Seajs教程 配置文档

    seajs.config Obj alias Obj 别名配置,配置之后可在模块中使用require调用require('jQuery'); seajs.config({ alias:{ 'jquer ...

  2. seajs的常用api简易文档

    目前使用sea.js的公司越来越多, 比如朋友网,阿里巴巴,淘宝网,百姓网,支付宝,有道云笔记等.模块化的javascript开发带来了可维护,可扩展性,尤其在多人协作开发的时候不用再担心文件依赖和函 ...

  3. artDialog 文档

    artDialog —— 经典.优雅的网页对话框控件. 支持普通与 12 方向气泡状对话框 完善的焦点处理,自动焦点附加与回退 支持 ARIA 标准 面向未来:基于 HTML5 Dialog 的 AP ...

  4. layer.js 弹窗组件API文档

      基础参数 type title content skin area offset icon btn closeBtn shade shadeClose time id shift maxmin f ...

  5. JRoll 2 使用文档(史上最强大的下拉刷新,滚动,无限加载插件)

    概述 说明 JRoll,一款能滚起上万条数据,具有滑动加速.回弹.缩放.滚动条.滑动事件等功能,兼容CommonJS/AMD/CMD模块规范,开源,免费的轻量级html5滚动插件. JRoll第二版是 ...

  6. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  7. dotNET跨平台相关文档整理

    一直在从事C#开发的相关技术工作,从C# 1.0一路用到现在的C# 6.0, 通常情况下被局限于Windows平台,Mono项目把我们C#程序带到了Windows之外的平台,在工作之余花了很多时间在M ...

  8. ABP文档 - Javascript Api - AJAX

    本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...

  9. ABP文档 - EntityFramework 集成

    文档目录 本节内容: Nuget 包 DbContext 仓储 默认仓储 自定义仓储 特定的仓储基类 自定义仓储示例 仓储最佳实践 ABP可使用任何ORM框架,它已经内置了EntityFrame(以下 ...

随机推荐

  1. Win10年度更新开发必备:VS2015 Update 2正式版下载汇总

    ========================================================================== 微软在03月30日发布了Visual Studio ...

  2. ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置

    ASP.NET Web API的路由和ASP.NET MVC相似,也是把路由放在RouteTable中的.可以在App_Start文件夹中的WebApiConfig.cs中设置路由模版.默认的路由模版 ...

  3. iOS 程序插件及功能动态更新思路

    所用框架及语言 iOS客户端-Wax(开发愤怒的小鸟的连接Lua 和 Objc的框架),Lua,Objc, 服务端-Java(用于返回插件页面) 工具框架链接地址:Wax - https://gith ...

  4. View Programming Guide for iOS_读书笔记

    关于Window的定义的要点 Windows do not have any visible content themselves but provide a basic container for ...

  5. android开发:全屏和退出全屏

    android开发:全屏和退出全屏 from://http://blog.csdn.net/dyllove98/article/details/8831933 2013-04-21 20:31 413 ...

  6. Quartz:不要重复造轮子,一款企业级任务调度框架。

    背景 第一次遇到定时执行某些任务的需求时,很多朋友可能设计了一个小类库,这个类图提高了一个接口,然后由调度器调度所有注册的接口类型,我就是其中之一,随着接触的开源项目越来越多,我的某些开发习惯受到了影 ...

  7. 将CAGradientLayer当做mask使用

    将CAGradientLayer当做mask使用 效果 源码 https://github.com/YouXianMing/Animations // // CAGradientView.h // M ...

  8. Android UI布局之LinearLayout

    LinearLayout是Android中最经常使用的布局之中的一个.它将自己包括的子元素依照一个方向进行排列.方向有两种,水平或者竖直.这个方向能够通过设置android:orientation=& ...

  9. Java中CAS详解

    在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换和调度延时,引起性能问题. (2 ...

  10. 制作高仿QQ的聊天系统(上)—— 布局文件 & 减少过度绘制

    由于没有自己的服务器,我就找了个能实现双方通信的SDK,这个SDK是友盟的用户反馈SDK.本系列的博文关注的不是网络通信,而是如何在网络通信机制已经做好的情况下,做出一个可用的聊天系统.其实,刚开始做 ...