SeaJS 与 RequireJS 的差异1
2015-08-09 14:41
513 查看
SeaJS 遵循 CMD 规范,RequireJS 遵循 AMD 规范。CMD 模块依赖声明方式:
CMD 规范的弊端不能直接压缩:
AMD 规范的弊端依赖提前声明在代码书写上不是那么友好模块内部与 NodeJS 的 Modules 有一定的差异
[code]define(function (require) { var a = require('./a'); var b = require('./b'); })[/code]
CMD 规范的弊端不能直接压缩:
require是局部变量,意味着不能直接的通过压缩工具进行压缩,若
require这个变量被替换,加载器与自动化工具将无法获取模块的依赖。模块书写有额外约定:路径参数不能进行字符串运算,不能使用变量代替,否则加载器与自动化工具无法正确提取路径。AMD 模块依赖声明方式:
[code]define(['./a', './b'], function (a, b) { // more code .. })[/code]
AMD 规范的弊端依赖提前声明在代码书写上不是那么友好模块内部与 NodeJS 的 Modules 有一定的差异
其实无论是 CMD 还是 AMD 的异步模块,都无法与同步模块规范保持一致(NodeJS 的 Modules), 只有谁比谁更像同步模块而已。AMD 要转换为同步模块,除了去掉把依赖声明好,而 CMD 只需要去掉define函数的包裹外,
需要在头部使用[code]require
define
函数的包裹即可。[/code]
相关文章推荐
- The Dole Queue
- uva 10405 Longest Common Subsequence(最长公共子序列)
- UI04_UITouch(视图随手移动效果)
- UIImageView 使图片圆形的方法
- UVa - 424 Integer Inquiry
- easyui的datagrid使用以及分页
- easyui的dnd插件实现datagrid行拖拽
- MySQL中的UUID
- UE4发报机-关卡蓝图调用蓝图类的发报机
- hdu3530Subsequence rmq
- Chrome开发工具Network没有显示完整的http request和response对话
- GameBuilder见缝插针游戏开发系列(AA)
- 黑马程序员——Java GUI(图形用户界面)
- 对于用js获取元素的css样式属性(getComputedStyle,currentStyle,style)(getPropertyValue,getAttribute)
- Arduino 软重启 软件reset
- POJ 3368 Frequent values
- UIImageView和UIImage
- UITextField
- 系统签名 sharedUserId android.uid.system
- UILabel