0.5.0 • Published 8 years ago
ranma v0.5.0
A converter between CommonJS/AMD/CMD/Module/other
ranma取自同名动漫人物乱马,意指同一个事物的不同形式。
为满足所写的代码能同时运行于server环境和web环境,而不需手动修改,所以做了个转换方法,使得几者之间的模块能够互相等价转化。
需要注意的是AMD模块的写法应遵守文件和模块一对一的原则。
INSTALL
npm install ranma
API
cjsify(code:String):String
- 将代码转换为
CommonJS
- 对于
AMD
和CMD
,会将define的factory提取,改写return为module.exports并删除define,如果define父语句有if判断也会删除 - 对于
es6 module
,会将module和import变为require,export变为exports,export default变为module.exports - 对于普通文件,会将全局声明的变量作为exports,全局使用的未声明变量作为require
- 将代码转换为
amdify(code:String):String
- 将代码转换为
AMD
- 在cjsify的基础上进行define包裹
- 如果代码是
CMD
不做修改,因为AMD
兼容这种写法
- 将代码转换为
cmdify(code:String):String
- 将代码转换为
CMD
- 在cjsify的基础上进行define包裹
- 如果code是
AMD
类型,会进行依赖转化——即将factory的参数改为CMD
的require, exports, module固定参数,同时依赖变为require变量声明
- 将代码转换为
type.isCommonJS(code:String):Boolean
- code是否是
CommonJS
- code是否是
type.isAMD(code:String):Boolean
- code是否是
AMD
- code是否是
type.isCMD(code:String):Boolean
- code是否是
CMD
- code是否是
type.isModule(code:String):Boolean
- code是否是
es6 module
- code是否是
AMD和CMD的区分依据
- 是否出现
define.amd
的判断 - factory的参数是否为固定的
require, exports, module
License
0.5.0
8 years ago
0.4.4
9 years ago
0.4.2
10 years ago
0.4.1
10 years ago
0.4.0
10 years ago
0.3.0
10 years ago
0.2.0
10 years ago
0.1.0
10 years ago
0.0.13
10 years ago
0.0.12
10 years ago
0.0.11
10 years ago
0.0.10
10 years ago
0.0.9
10 years ago
0.0.8
10 years ago
0.0.7
10 years ago
0.0.5
10 years ago
0.0.4
10 years ago
0.0.3
10 years ago
0.0.2
10 years ago
0.0.1
10 years ago
0.0.0
10 years ago