Node中的模块系统
核心模块
Node为Javascript提供了很多服务器级别的API,绝大多数都被包装到了一个具名的核心模块中,例如文件操作的fs核心模块,http服务构建的http模块等,核心模块的使用必须通过require方法加载
const path = require('path')
用户自定义模块
在浏览器中如果需要执行多个js文件,只需要多个script标签引入即可。在node中,每次运行命令行只支持一个文件,如果需要引入多个文件必须依靠require和exports。
相对路径必须加./
在node中,没有全局作用域,只有模块作用域
比如有两个同级的js文件a.js与b.js
a.js内容
const foo = 'aaa' require('./b') console.log(`foo的值是${foo}`) //'foo的值是aaa'
b.js内容
const foo = 'bbb'
命令行运行 node a.js得到 foo的值是aaa。两个文件中的foo互不影响。