在Node
中,存在着模块作用域的概念,即默认情况下,模块彼此间无法访问对方的成员,只能通过require
方法来进行模块间通信。当然,模块作用域的存在也带来了好处,使得我们可以避免变量命名冲突的情况。
模块作用域的特点:
- 模块是完全封闭的
- 外部访问不到内部
- 内部也访问不到外部
require
方法的特点:
require
方法会默认执行被加载模块中的代码require
方法可以得到被加载模块的接口对象exports
(该对象默认为一个空对象),被加载模块需要手动地将供外部访问的成员挂载到exports
对象上。
注意:require
方法只是加载并执行其他模块,并不会污染其他模块。
默认情况下,模块彼此间无法访问对方的成员,例:
模块1代码:
console.log(a);
console.log(add(10, 20));
模块2代码:</