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 端
时间: 2024-11-10 07:17:08

RequireJS和seaJS的区别与联系的相关文章

RequireJS 与 SeaJS 的异同

相同之处 RequireJS 和 SeaJS 都是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更简单自然. 不同之处 两者的区别如下: 定位有差异.RequireJS 想成为浏览器端的模块加载器,同时也想成为 Rhino / Node 等环境的模块加载器.SeaJS 则专注于 Web 浏览器端,同时通过 Node 扩展的方式可以很方便跑在 Node 服务器端. 遵循的规范不同.RequireJS 遵循的是 AMD(异步模块定义)规范,SeaJS 遵

从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs

[突然领悟] 今天看了一遍reactjs,突然发现和自己一直用的freemarker的宏十分相似, 突然领悟了很多前端吊炸天的概念,框架,特写此文,欢迎批评指正. [nodejs] 官网:https://nodejs.org/ 简介:对前端来说极其重要的一个"框架",简直可以说是开天辟地 类比Java中:JVM 详述: 就前端来说nodejs具有划时代的意义,做前端的没用过nodejs都不好意思说自己是前端, 做后端的没听过nodejs,或者说不出nodejs和java的优缺点,也不是

RequireJS与SeaJS模块化加载示例

web应用越变的庞大,模块化越显得重要,尤其Nodejs的流行,Javascript不限用于浏览器,还用于后台或其他场景时,没有Class,没有 Package的Javascript语言变得难以管理,于是出现CommonJS项目,提出了一些规范模块化的写法,在Nodejs中普遍应用,同样浏览器端也出现了类似的解决方案,并结合浏览器异步加载的特性,有RequireJS提出的AMD(Asynchronous Module Definition)规范,以及SeaJS提出的CMD(Common Modu

seajs和requirejs

一.seajs 1. 使用seajs的一般步骤 a)在主页面引入sea.js b)写模块 c)在主页面使用模块 2.模块的写法 math.js 1 define(function(require, exports, module){ 2 var squareObj=require("square"); 3 module.exports={ 4 add:function(a,b){ 5 return a+b; 6 }, 7 cube:function(a){ 8 return squar

Mod 与 RequireJS/SeaJS 的那些事

本文的目的是为了能大让家更好的认识 Mod,之所以引入 RequireJS/SeaJS 的对比主要是应大家要求更清晰的对比应用场景,并不是为了比较出孰胜孰劣,RequireJS 和 SeaJS 都是模块化漫漫之路的先驱者,向他们致敬! 为工程化为生的Mod 模块化是一种处理复杂系统分解成为更好的可管理模块的方式,它可以把系统代码划分为一系列职责单一,高度解耦且可替换的模块,采用模块化可以让系统的可维护性更加简单易得. JavaScript 并没有为开发者们提供以一种简洁.有条理地的方式来管理模块

SeaJs与RequireJs执行差异

seajs与requirejs在模块的加载方面是没有差异的,无论是requirejs在定义模块时定义的依赖模块,还是seajs在factory函数中require的依赖模块,在会在加载当前模块时被载入,异步,并且顺序不可控.差异在于factory函数执行的时机. 为了增强对比,我们在定义依赖模块的时候,故意让它们的factory函数要执行相当长的时间,比如1秒: // dep_A.js定义如下,dep_B.dep_C定义同理 define(function(require, exports, m

commonjs amd cmd的区别

一篇博客告诉你三者的区别:http://zccst.iteye.com/blog/2215317 告诉你三者同requirejs seajs的区别:http://blog.chinaunix.net/uid-26672038-id-4112229.html 本人道听途生的: commonjs的规范在node还没有产生以前,就有了,commonjs作为一个后端的规范,虽然后端的Js以前发展缓慢,但是commonjs这个规范还是比较完善的,随着Node的普及,commonjs被完全遵从和实现,com

AMD与CMD区别

AMD与CMD区别 最明显的区别就是在模块定义时对依赖的处理不同 AMD推崇依赖前置,在定义模块的时候就要声明其依赖的模块 CMD推崇就近依赖,只有在用到某个模块的时候再去require 这种区别各有优劣,只是语法上的差距,而且requireJS和SeaJS都支持对方的写法 AMD和CMD最大的区别是对依赖模块的执行时机处理不同,注意不是加载的时机或者方式不同 很多人说requireJS是异步加载模块,SeaJS是同步加载模块,这么理解实际上是不准确的,其实加载模块都是异步的,只不过AMD依赖前

CommonJS,AMD,CMD区别

zccst转载 学得比较晕,再次看commonjs,amd, cmd时好像还是没完全弄清楚,今天再整理一下: commonjs是用在服务器端的,同步的,如nodejs amd, cmd是用在浏览器端的,异步的,如requirejs和seajs 其中,amd先提出,cmd是根据commonjs和amd基础上提出的. 为什么晕呢?是因为没用,或用得太少.光看看文章是不行的. CommonJS CommonJs 是服务器端模块的规范,Node.js采用了这个规范. 根据CommonJS规范,一个单独的