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 相关文章推荐
jquery的选择器的使用技巧之如何选择input框
Sep 22 Javascript
jquery 实现两级导航菜单附效果图
Mar 07 Javascript
javascript动态控制服务器控件实例
Sep 05 Javascript
快速掌握jQuery插件WebUploader文件上传
Nov 07 Javascript
前端开发之CSS原理详解
Mar 11 Javascript
js移动端图片压缩上传功能
Aug 18 Javascript
原生js封装添加class,删除class的实例
Nov 06 Javascript
微信小程序录音与播放录音功能
Dec 25 Javascript
详解create-react-app 自定义 eslint 配置
Jun 07 Javascript
vue中tab选项卡的实现思路
Nov 25 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 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
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
js调用flash的效果代码
2008/04/26 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
python常见的格式化输出小结
2016/12/15 Python
Python yield与实现方法代码分析
2018/02/06 Python
Python实现的knn算法示例
2018/06/14 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
少年犯观后感
2015/06/11 职场文书
单位同意报考证明
2015/06/17 职场文书
员工给公司的建议书
2019/06/24 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
在项目中使用redis做缓存的一些思路
2021/09/14 Redis
javascript实现计算器功能详解流程
2021/11/01 Javascript
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers