Seajs的学习笔记


Posted in Javascript onMarch 04, 2014

1.简介

Seajs,一个Web模块加载框架,追求简单、自然的代码书写和组织方式,:Sea.js 遵循 CMD 规范,模块化JS代码。依赖的自动加载、配置的简洁清晰,可以让程序员更多地专注编码。

2.优缺点

优点:
1).提高可维护性。
2).模块化编程。
3).动态加载,前端性能优化

缺点:
1).学习文档偏少且混乱,会更改团队使用JS的编写习惯,必须使用模块化编程。
2).不太适合团队目前的情况,多JS文件但少改动,动态加载优势和模块化优势不明显。
3). 需要配套使用SPM工具,JS的打包和管理工具。

2.什么是CMD 和AMD ?

异步模块定义(AMD)是Asynchronous Module Definition的缩写,是 RequireJS 在推广过程中对模块定义的规范化产出。
通用模块定义(CMD)是Common Module Definition的缩写,是SeaJS 在推广过程中对模块定义的规范化产出。
RequireJS 和 SeaJS 都是模块化框架的代表,AMD和CMD,是他们各自定义模块化的方式,大同小异,主要是代码风格和API不同。

3.如何使用?

<script src="../js/examples-master/sea-modules/seajs/seajs/2.1.1/sea.js"></script>
<script>
     //配置js路径
    seajs.config({
        alias:{
            "jquery":"../examples-master/sea-modules/jquery/jquery/1.10.1/jquery.js"
        }
    });
     //加载模块
    seajs.use('../js/seajs/init',function($){
        $("#test_div").click(function(){alert(1);});
    });
</script>

//init.js
define(function(require,exports,module){
    var $ = require('jquery');
    return $;
});
Javascript 相关文章推荐
异步动态加载JS并运行(示例代码)
Dec 13 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
Jun 07 Javascript
AngularJS基础 ng-if 指令用法
Aug 01 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 Javascript
JavaScript基本语法_动力节点Java学院整理
Jun 26 Javascript
js is_valid_filename验证文件名的函数
Jul 19 Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
element ui 表格动态列显示空白bug 修复方法
Sep 04 Javascript
vue a标签点击实现赋值方式
Sep 07 Javascript
Vue 3自定义指令开发的相关总结
Jan 29 Vue.js
文本域中换行符的替换示例
Mar 04 #Javascript
为jquery的ajaxfileupload增加附加参数的方法
Mar 04 #Javascript
Document.location.href和.replace的区别示例介绍
Mar 04 #Javascript
LABjs、RequireJS、SeaJS的区别
Mar 04 #Javascript
js的Boolean对象初始值示例
Mar 04 #Javascript
js动态拼接正则表达式的两种方法
Mar 04 #Javascript
8个实用的jQuery技巧
Mar 04 #Javascript
You might like
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
php中apc缓存使用示例
2013/12/25 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
Symfony核心类概述
2016/03/17 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
PHP弱类型语言中类型判断操作实例详解
2017/08/10 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
简述JS控制台的使用
2018/07/15 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
Python实现身份证号码解析
2015/09/01 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
python从子线程中获得返回值的方法
2019/01/30 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
用python解压分析jar包实例
2020/01/16 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书