前端模块化
前端模块规范有三种:CommonJs,AMD和CMD。 CommonJs用在服务器端,AMD和CMD用在浏览器环境 AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。 CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 AMD:提前执行(异步加载:依赖先执行)+延迟执行 CMD:延迟执行(运行到需加载,根据顺序执行) 一.模块 以前使用JS的方式要更改,以前只能说是JS的最初级应用,现在对JS应该使用模块化写法. 好处: 模块就是实现特定功能的文件,把几个函数放在一个文件里就构成了一个模块。需要的时候加载这个文件,调用其中的函数即可。 但这样做会污染全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间没什么关系。 简单的例子: var module = (function(){ var star = 0; var f1 = function (){ alert('ok'); }; var f2 = function (){ //... }; return { f1:f1, f2:f2 }; })(); module.f1(); //ok alert(module.star) //undefined 因为start并没有return出来 二.CommonJs