javascript模块化编程

对比es6与其他模块化方案

规范 AMD CMD CommonJS ES6
代表 require.js sea.js Node.js Node.js
加载方式 预加载:在第一次访问时将所有文件加载出来 懒加载:使用时才会加载对应文件 通过 require 方法来同步加载 静态化加载
优缺点

优点:第一次访问后,再次访问的速度会很快

缺点:第一次加载页面要等待很久 

优点:第一次访问速度快

缺点:再访问其他新的模块式速度慢

优点:服务器端模块便于重用

缺点:同步会阻塞加载,不能并行加载多个模块

优点:编译时就能确定模块的依赖关系,以及输入和输出的变量。

缺点:全新的命令字,新版的 Node.js才支持

ES6的模块化的基本规则或特点:

1:每一个模块只加载一次, 每一个JS只执行一次, 如果下次再去加载同目录下同文件,直接从内存中读取。 一个模块就是一个单例,或者说就是一个对象;

2:每一个模块内声明的变量都是局部变量, 不会污染全局作用域;

3:模块内部的变量或者函数可以通过export导出;

4:一个模块可以导入别的模块

原文地址:https://www.cnblogs.com/embrace-ly/p/10561192.html