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 相关文章推荐
Javascript之this关键字深入解析
Nov 12 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
Dec 29 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
Apr 17 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
JavaScript获取并更改input标签name属性的方法
Jul 02 Javascript
JavaScript运动减速效果实例分析
Aug 04 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
Sep 06 Javascript
Canvas + JavaScript 制作图片粒子效果
Feb 08 Javascript
es6学习笔记之Async函数基本教程
May 11 Javascript
webpack自动打包和热更新的实现方法
Jun 24 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
在Vue中使用HOC模式的实现
Aug 23 Javascript
文本域中换行符的替换示例
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
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
PHP strtok()函数的优点分析
2010/03/02 PHP
javascript demo 基本技巧
2009/12/18 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
基于javascript的异步编程实例详解
2017/04/10 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
python获取目录下所有文件的方法
2015/06/01 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
Django model.py表单设置默认值允许为空的操作
2020/05/19 Python
在keras中实现查看其训练loss值
2020/06/16 Python
一份全面的PHP面试问题考卷
2012/07/15 面试题
几道数据库的面试题或笔试题
2014/05/31 面试题
村优秀党员事迹材料
2014/01/15 职场文书
自动化毕业生专业自荐书范文
2014/02/04 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
Redis基本数据类型List常用操作命令
2022/06/01 Redis
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技