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 Event学习补遗 addEventSimple
Feb 11 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
Aug 23 Javascript
利用Keydown事件阻止用户输入实现代码
Mar 11 Javascript
js 左右悬浮对联广告代码示例
Dec 12 Javascript
jquery处理页面弹出层查询数据等待操作实例
Mar 25 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
JavaScript字符串对象(string)基本用法示例
Jan 18 Javascript
JS设置时间无效问题的解决办法
Feb 18 Javascript
JS实现的tab切换选项卡效果示例
Feb 28 Javascript
Node.js搭建小程序后台服务
Jan 03 Javascript
vue实现密码显示隐藏切换功能
Feb 23 Javascript
JavaScript继承的三种方法实例
May 12 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
一个简易需要注册的留言版程序
2006/10/09 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
PHP网站备份程序代码分享
2011/06/10 PHP
PHP错误和异长常处理总结
2014/03/06 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
PHP实现的超长文本分页显示功能示例
2018/06/04 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
javascript中数组的定义及使用实例
2015/01/21 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
js图片轮播插件的封装
2017/07/21 Javascript
支付宝小程序tabbar底部导航
2018/11/06 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
js实现小时钟效果
2020/03/25 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
Python映射拆分操作符用法实例
2015/05/19 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
python实现K最近邻算法
2018/01/29 Python
Sanic框架Cookies操作示例
2018/07/17 Python
Scrapy框架使用的基本知识
2018/10/21 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
Python测试模块doctest使用解析
2019/08/10 Python
Django中modelform组件实例用法总结
2020/02/10 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
学校安全教育月活动总结
2014/07/07 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
Python3中最常用的5种线程锁实例总结
2021/07/07 Python
MYSQL 运算符总结
2021/11/11 MySQL