4.1 require 是一个方法
-
作用:加载执行模块中的代码
-
在Node中,模块有三种:
- 核心模块:例如fs、http、os等
- 用户自己编写的文件模块(即 js )
- 相对路径必须加 ‘ ./ ‘,不能省略
- 可以省略后缀名
-
在 Node 中没有全局作用域,只有模块作用域(简单来说就是,外部访问不到内部,内部访问不到外部)
4.2 模块作用域,如何让模块与模块之间进行通信
- node采用CommonJS的规范
- module.exports与exports ,是CommonJS的规范
- ES6使用export和import来导出/导入模块
//require 方法有两个作用:
// 1.加载文件模块并执行里面的代码
// 2.拿到被加载文件模块导出的接口对象
//在每个文件模块都提供了一个对象 :exports
// exports 默认是空对象
-
把所有需要被外部访问的成员挂载到 exports中,exports默认是空对象
var bExports = require('./b.js') //bExports 得到的是 b.js 中的exports 对象
exports.foo = 'hello' //foo 是变量名, 'hello'是值 foo = 'hello node' //第一个foo是在 exports 对象中 //第二个foo是在模块内部(即js文件中)