es6模块、commonJs、AMD和CMD主要区别

  输出 导入 区别
commonJs module.exports require

运行时加载,最初引入是一个对象,在运行时才能确定依赖关系

是值的拷贝,值是缓存的,第二次加载时候不会执行,直接去缓存拿输出结果

es6模块

export {foo}

export default foo

export default foo 相当于export {foo as default}

导出一个名为“default”的变量或方法

import

编译时确定依赖关系,只会引入需要的模块

是值的引用,值是动态的,模块内值被改变后,导入文件内的值也会变化

只能写在最上面,不能写在其他语句之后,否则编译会报错

commonJs主要用于服务端,是同步的,相应的AMD(requireJs依赖前置) 和CMD(seaJs就近依赖)主要用于客户端,是异步的

posted @ 2019-03-05 17:40  luosisi0202  阅读(252)  评论(0)    收藏  举报