Node中的Module源码分析

在node项目中,require和module.exports使用非常普遍,js模块化带来的效率大大提升。一直很好奇require背后是怎样运行的,最近仔细看了看这部分的源码,然后参考了其他人的文章,还好node中的Module是JavaScript写的可以看懂。

CommonJs规范

commonJs规范可以说是js模块化中的里程碑,目前npm上面的包基本都支持该规范。在CommonJs中:

  1. 一个文件就是一个模块,拥有单独的作用域;
  2. 普通方式定义的变量、函数、对象都属于该模块内;
  3. 通过require来加载模块;
  4. 通过exports和module.exports来暴露模块中的内容;

举个

相关推荐