一,模块系统
JavaScript原生态是一个全局的世界,所有如setTimeout,document等这样在浏览器中使用的API,都是全局定义的。而Node摒弃了采用定义一堆全局变量的方式,转而引入了一个简单但却强大无比的模块系统,该模块系统有三个核心的全局对象:require,module(模块)和export。
二,require
- 1,通过require来引入模块。
- 2,引入的模块可以分为两种:绝对和相对模块。绝对模块是指其内部node_modules查找到的模块,或者node内置的如fs这样的模块。相对模块将require指向一个相对工作目录中的js文件。
三,exports
- 1,在默认的情况下,每个模块都会暴露出一个空对象,如果想要在该对象中添加属性,可以简单地使用exports。
- 2,exports其实是对module.exports的引用,默认情况下是一个对象。要是在该对象中逐个添加属性无法满足你的需求,你还可以彻底重写module.exports。