RequireJS和seaJS的区别与联系
RequireJS和seaJS的区别与联系联系:都是模块加载器,倡导模块化开发理念,核心价值是让 JavaScript 的模块化开发变得简单自然。
RequireJS(除了是模块加载器,还是文件加载器) | seaJS | |
遵循的规范不同 | 遵循 AMD(异步模块定义)规范,预执行,相对来讲解析模块时间短,停顿次数少。也就是RequireJS会先尽早地执行(依赖)模块, 相当于所有的require都被提前了, 而且模块执行的顺序也不一定100%按照代码中出现的顺序。 | 遵循 CMD (通用模块定义)规范,可以像 Node.js 一般书写模块代码,可以说是浏览器端的node.js懒执行,解析模块时间长,停顿次数多,但是,执行模块的顺序也是严格按照模块在代码中出现(require)的顺序 |
插件机制 | RequireJS 采取的是在源码中预留接口的形式,插件类型比较单一 | Sea.js 采取的是通用事件机制,具有丰富的可扩展接口,插件类型更丰富 |
定位 | 想成为浏览器端的模块加载器,同时也想成为 Rhino / Node 等环境的模块加载器 | 则专注于 Web 浏览器端,同时通过 Node 扩展的方式可以很方便跑在 Node 环境中 |
推广理念 | RequireJS 在尝试让第三方类库修改自身来支持 RequireJS,目前只有少数社区采纳 | Sea.js 不强推,采用自主封装的方式来“海纳百川”,目前已有较成熟的封装策略 |
对开发调试的支持 | RequireJS 无这方面的明显支持。 |
Sea.js 非常关注代码的开发调试,有 nocache、debug 等用于调试的插件 |
官方文档以及其他 | 文档更更丰富,基本属于拿来就能用的DEMO。没有把CSS作为模块的一部分来看。维护和使用的人相对比较多。 | 需要自己读文档研究折腾。 |
如果说RequireJS 是 Prototype 类库的话 | Sea.js 致力于成为 jQuery 类库,Sea.js 可运行在 Mobile 端 |
RequireJS和seaJS的区别与联系的更多相关文章
- LABjs、RequireJS、SeaJS 哪个最好用?为什么?
感谢玉伯在知乎的奉献,下面全文转载:http://www.zhihu.com/question/20342350/answer/14828786 LABjs 的核心是 LAB(Loading and ...
- LABjs、RequireJS、SeaJS 哪个最好用?为什么?- 玉伯的回答
LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行.LABjs 通过优雅的语法(script 和 wait)实 ...
- requirejs和seajs使用感受
这几天看了下前端模块化的知识,主要是requirejs和seajs相关的知识,还未看es6的模块化知识. 由于目前项目组内的开始推广使用vue,并且开始简单的封装组件,但发现组件js的使用方式依然是原 ...
- RequireJS 与 SeaJS 的异同
相同之处 RequireJS 和 SeaJS 都是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更简单自然. 不同之处 两者的区别如下: 定位有差异.Re ...
- RequireJS与SeaJS模块化加载示例
web应用越变的庞大,模块化越显得重要,尤其Nodejs的流行,Javascript不限用于浏览器,还用于后台或其他场景时,没有Class,没有 Package的Javascript语言变得难以管理, ...
- 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs
[前端神秘的面纱] 对后端开发来说,前端是神秘的, 眼花缭乱的技术,繁多的框架, 如果你还停留在前端等于只用jquery做开发,那么你out了, 本文从Java的角度简述下目前前端流行的一些框架. 水 ...
- RequireJs 与 SeaJs的相同之处与区别
相同之处: RequireJS 和 Sea.js 都是模块加载器,倡导模块化开发理念,核心价值是让 JavaScript 的模块化开发变得简单自然. 不同之处: 定位有差异.RequireJS 想成为 ...
- RequireJS 和 SeaJS
RequireJS SeaJS CMD规范 CommonJS的规范: 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的 ...
- 模块化以及requirejs和seajs
我们用模块化的思想进行网页的编写是为了更好的管理我们的项目 模块与模块之间是独立存在的,每个模块可以独立的完成一个子功能. 模块化所涉及的规范commonjs,AMD,CMD,UMD 其中的commo ...
随机推荐
- 【WebGoat习题解析】Parameter Tampering->Bypass HTML Field Restrictions
The form below uses HTML form field restrictions. In order to pass this lesson, submit the form with ...
- css学习笔记 8
标准盒模型:盒子宽 = marginleft+borderleft+paddingleft+width+paddingright+borderright+marginright; 盒子高=margin ...
- Ubuntu中由root用户修改为普通用户的办法
比如你的普通用户名是test 目前是root用户 键入命令 su - test 就可以了
- nodejs新建服务器
var http = require('http');// var optfile = require('./models/optfile'); http.createServer(function ...
- Asp.net MVC过滤器的使用
当我们网站开发到这里的时候,我们虽然已经实现了用户登录信息,用户不经过登录信息,比如:http://localhost:6941/UserInfo/Index如果我这样访问的话,他是可以进行操作的,所 ...
- tomcat-maven-plugin
tomcat-maven-plugin , 我们可以使用这个插件把web应用一键式的部署到一个远程的tomcat中. 步骤1 : 修改 tomcat/conf/tomcat-users.xml ...
- sql语句判断默认值为getdate()的约束是否存在
TFlowCreateTask--表名 AddDate--字段名 if not exists( select d.name from syscolumns a join sysobjects b on ...
- spring+mybatis+springmvc的配置
1.web.xml的配置 <?xml version="1.0" encoding="UTF-8"?><web-app version=&qu ...
- Microsoft Help Viewer
Microsoft Help Viewer 1.0 Microsoft Help Viewer 2.0 Help Library 管理器 -Microsoft Help 查看器 打开VS 2010 ...
- 三星四核RP4412开发板的root问题
问:荣品四核RP4412开发板的板子是root权限吗? 或者怎么root? 答:su . android 我们提供的是root用户 问:root以后的授权管理器没法运行. 我需要root,我要在and ...