JavaScript 进阶(三)模块化
刚和朋友在外面小吃了一顿。然后步行回家,大概走到 5km,说实话很久没有运动了。走这么远。感觉脚好酸,看来以后自己还是要好好锻炼锻炼了,咱今天就废话不多说,直接进入正题。Let's go!
模块化
ES6 的模块化
在有 Babel 的情况下,我们可以直接拿起 ES6 的模块化语法直接用,干他丫的
复制代码
CommonJS
CommonJs 是 Node 独有的规范,写 node 的同学相比是日常见到的,嗯哈
复制代码
上述代码中,我们发现 module.exports 和 exports 都可以实现,那他两有啥区别呢?
复制代码
再来说说 module.exports 和 exports ,⽤法其实是相似的,但是不能对 exports 直接赋值,不会有任何效果。
对于 CommonJS 和 ES6 中的模块化的两者区别是:
前者⽀持动态导⼊,也就是 require(${path}/xx.js) ,后者⽬前不⽀持,
⽽后者是异步导⼊
但是后者采⽤引用的形式,导⼊导出的值都指向同⼀个内存地址,所以导⼊值会跟随导出值变化
后者会编译成 require/exports 来执⾏的
AMD
AMD 是由 RequireJS 提出的
复制代码
END
评论