seajs 入门
2024-08-31 21:48:27
最近想搞搞JS模块化, 读到了园子里的一篇好文: http://www.cnblogs.com/lvdabao/p/js-modules-develop.html
看里面讲seajs不错, 于是想学一下,
到官网一看, 5分钟入门, 真是好感度倍增, 万万没想到人家那教程, 是写给玩过nodejs, requirejs之类的高人看的, 咱这智商,50分钟都不够啊.
好容易找资料弄出个最最简单的东西, 记录一下:
1) 下载seajs. 不知道各个版本都有什么区别, 总之下载最新的 sea.js 应该OK.
2) 引用和配置. 在公共或模块页面里引用, 配置一下, 下面是asp.net mvc的语法:
<script src="~/viewsjs/sea.js"></script>
<script>
seajs.config({
base: "@Url.Content("~/ViewsJs/")",
alias: {
"jquery": "jquery/jquery/1.10.1/jquery.js"
}
});
</script>
放在页面里, 主要是为了方便确定base路径. base和alias什么用途, 咱还没理解透, 也就不解析了.
3) 写测试模块. 既然是模块化, 先要做个模块吧:
ClientsSelectorUnit.js
define('ClientsSelectorUnit', [], function (require, exports, module) {
var $el = null; function test(){}; exports.init = function (containerId) {
$el = $(containerId);
test();
alert("ClientsSelectorUnit.js loaded! " + containerId);
}; });
注意 $el , test() 的使用方式不会污染全局对象.
这个文件和我sea.js放一个地方了, 放哪都可以, 引用时注意一下路径. 这里暴露了个init方法.
4) 调用模块
<script>
seajs.use("ClientsSelectorUnit", function (unit) {
unit.init("divClientsSelector");
});
</script>
这是个简单的入门测试, 所以调用是写在页面里了, 估计写在js文件里也可以的.
主要是 use 方法的第一个参数指向要调用的模块的文件名, 而后面的 function 里的参数是做为模块的一个引用名, 在函数体里面可以方便的引用模块中通过 exports 暴露出的方法.
我们总算成功引用了一个js模块了. 在第3)步中, 定义模块的时候, 有三个参数: require , exports , module . 其中的exports 我们用到了, require应该是可以用来引用其它模块, 从而完成模块依赖管理的, 而module参数暂时没搞懂是干嘛的.
到这里算是小入门了吧, 先这样了.
最新文章
- jQuery如何在IE中更改网页标题
- sharepoint 增删改查
- centos&#39;的yum安装php的memcache扩展
- Selenium WebDriver屏幕截图(C#版)
- WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色
- 数据交互 ajax代码整理
- hdoj 3072 Intelligence System【求scc&;&;缩点】【求连通所有scc的最小花费】
- MVC4 中Remote的使用
- SQL中 patindex函数的用法
- Delphi 封装Frame到Dll文件
- Unicode的解救方案 - Windows程序设计(SDK)002
- sqlserver系统表操作
- Canvas绘制一个大鱼喂小鱼的游戏
- 基于VUE的九宫格抽奖功能
- ListView添加图片文字项
- 记数据库数据文件损坏恢复ORA-00376+ORA-01110
- Linux记录-JMX监控Tomcat上传到falcon
- Python3学习笔记21-实例属性和类属性
- JavaScript学习(八)
- Android系统版本、Platform版本、SDK版本、gradle修改