seajs学习(1)----什么是系统
2015-10-22 09:42
513 查看
在生活和工作中,我们会接触到大量系统:自然界生态系统、计算机操作系统、软件办公系统,还有教育系统、金融系统、网络系统、理论系统等等。究竟什么是系统呢?
来看下维基百科的解释:
系统泛指由一群有关连的个体组成,根据预先编排好的规则工作,能完成个别元件不能单独完成的工作的群体。系统分为自然系统与人为系统两大类。
简言之,系统有两个基本特性:
系统由个体组成。
个体之间有关连,按照规则协同完成任务。
系统中的个体可称之为系统成员,这样,要构建一个系统,最基本层面需要做两件事:
定义系统成员:确定成员是什么。
约定系统通讯:确定成员之间如何交互,遵循的规则是什么。
只要把这两个问题描述清楚,我们就可以构建出系统。
模块是什么?
模块之间如何交互?
在前端开发领域,一个模块,可以是JS 模块,也可以是 CSS 模块,或是 Template 等模块。在 Sea.js 里,我们专注于 JS 模块(其他类型的模块可以转换为 JS 模块):
模块是一段 JavaScript 代码,具有统一的基本书写格式。
模块之间通过基本交互规则,能彼此引用,协同工作。
把上面两点中提及的基本书写格式和基本交互规则描述清楚,就能构建出一个模块系统。对书写格式和交互规则的详细描述,就是模块定义规范(Module Definition Specification)。比如 CommonJS 社区的Modules 1.1.1 规范,以及 NodeJS 的
Modules 规范,还有 RequireJS 提出的
AMD 规范等等。
Sea.js 遵循的是
CMD 规范,会在接下来的文档中详细阐述。
来看下维基百科的解释:
系统泛指由一群有关连的个体组成,根据预先编排好的规则工作,能完成个别元件不能单独完成的工作的群体。系统分为自然系统与人为系统两大类。
简言之,系统有两个基本特性:
系统由个体组成。
个体之间有关连,按照规则协同完成任务。
系统中的个体可称之为系统成员,这样,要构建一个系统,最基本层面需要做两件事:
定义系统成员:确定成员是什么。
约定系统通讯:确定成员之间如何交互,遵循的规则是什么。
只要把这两个问题描述清楚,我们就可以构建出系统。
模块系统
Sea.js 是一个适用于 Web 浏览器端的模块加载器。在 Sea.js 里,一切皆是模块,所有模块协同构建成模块系统。Sea.js 首要要解决的是模块系统的基本问题:模块是什么?
模块之间如何交互?
在前端开发领域,一个模块,可以是JS 模块,也可以是 CSS 模块,或是 Template 等模块。在 Sea.js 里,我们专注于 JS 模块(其他类型的模块可以转换为 JS 模块):
模块是一段 JavaScript 代码,具有统一的基本书写格式。
模块之间通过基本交互规则,能彼此引用,协同工作。
把上面两点中提及的基本书写格式和基本交互规则描述清楚,就能构建出一个模块系统。对书写格式和交互规则的详细描述,就是模块定义规范(Module Definition Specification)。比如 CommonJS 社区的Modules 1.1.1 规范,以及 NodeJS 的
Modules 规范,还有 RequireJS 提出的
AMD 规范等等。
Sea.js 遵循的是
CMD 规范,会在接下来的文档中详细阐述。
相关文章推荐
- js 验证码 倒计时60秒
- js闭包
- js检测访问设备的类型
- chrome Sources选项卡 设置JavaScript事件断点
- extjs6整合到web项目中
- extjs6整合到web项目中
- JSP/Servlet-----web.xml加载顺序
- js 传递方法
- extjs 4.2后台传递的时间字符串2015-01-02会自动变为时间
- JavaScript的作用域
- JavaScript的arguments对象
- JSON解析数据
- 实现循环链表(js实现)
- Ember.js 入门指南——元数据
- JSP页面文件中base标记用法实例分析
- 比较全面的C 、Java、JavaScript中的正则表达式详解
- JS+CSS实现仿msn风格选项卡效果代码
- JS+CSS实现大气清新的滑动菜单效果代码
- JS实现新浪博客左侧的Blog管理菜单效果代码
- JS实现不使用图片仿Windows右键菜单效果代码