博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习SeaJs_之随笔
阅读量:7006 次
发布时间:2019-06-28

本文共 1542 字,大约阅读时间需要 5 分钟。

SeaJs:

         web浏览器端的模块加载器,常常看到杂乱的js引入,这个组件模块化的管理我们的js文件。哇,整个世界都清爽了......生活更加的美好了!

实例代码:

define(function(require, exports, module) {  var $ = require('jquery');  exports.sayHello = function() {    $('#hello').toggle('slow');  };});

将上面的代码保存为 hello.js,然后就可以通过 SeaJS 来加载使用了:

seajs.config({  alias: {    'jquery': 'http://modules.seajs.org/jquery/1.7.2/jquery.js'  }});seajs.use(['./hello', 'jquery'], function(hello, $) {  $('#beautiful-sea').click(hello.sayHello);});

hello.js文件被seajs解析之后,应该变成一个javascript中的对象了。详见:

模块系统

seajs中一切皆是模块,通过模块来组成我们系统。模块遵循一定的书写规则( 这里可以查看cmd规则的API),彼此引用,协同工作,这就是seajs核心思想。

CMD(Common Module Definition)

1、cmd中一个javascript就是一个模块,代码书写格式:

define(factory)

功能定义模块   factory 模块:对象,字符串,json等;函数,当前模块的构造函数,包含三个参数:require,exports,module

1 define(function(require, exports, module) {2 3   /**require(id)** : a method to call to other module by module ID;                        Example: var  a = require('./a');4                      The same function is require.async(id,callback)*/5   /**exports**:  is an object that supply a interface to other's module*/6   /**module**: is an object that record information of current module.* /7 });

以上就是CMD常用API(define,require,require.async,export,module).

模块标识

2、模块标识的书写规则。可以详见:

3、模块标示的设计原则:

     a. 简化引用,关注度分离,相对性加强。

     b. 尽量与浏览器的规则一致,方便解析。

模块加载器(module loader)

seaJs作为模块加载器,需要实现两个功能:

4、对模块的实现规则进行定义,模块系统的基础(上面以介绍)。

5、模块加载器的启动与运行。

//seaJs is simple for running.

小结:

seaJs实现思想就是简单,简洁。虽然还有一些配置,插件之类的没有介绍,但是都很简单,在自己的需要的时候,查询一下其官方网站就可以了。

 

转载于:https://www.cnblogs.com/zhangxp/archive/2012/08/15/2640080.html

你可能感兴趣的文章
我的友情链接
查看>>
日常运维工作shell脚本案例
查看>>
SVN学习笔记二——客户端使用
查看>>
spring Bean的生命周期
查看>>
[Oracle]1 -- 基本登录退出文件引用
查看>>
mysql text类型
查看>>
菜鸟学Linux 第064篇笔记 ftp概念,vsftp配置
查看>>
广告坑死人,这年头如何辨别互联网金融的可靠性?
查看>>
其实,今天写这篇文章的目的,是给我的博客“破处”
查看>>
tableView使用的各项注意点
查看>>
千里之行,始于足下——Shell scripts
查看>>
主板开启AHCI模式后不能进入win7系统
查看>>
用MDT 2012为企业部署windows 7(十三)--结合WDS部署部署windows 7客户端
查看>>
sort命令--Linux命令应用大词典729个命令解读
查看>>
PHP环境问题
查看>>
升级python,从2.7升级到3.5
查看>>
mysql复制日志删除设置和解决主键冲突的方法
查看>>
mysql高可用集群之MHA和Galera Cluster
查看>>
TCP/IP之(二)三次握手
查看>>
Dubbo架构设计详解
查看>>