Node中的模块系统

核心模块

Node为Javascript提供了很多服务器级别的API,绝大多数都被包装到了一个具名的核心模块中,例如文件操作的fs核心模块,http服务构建的http模块等,核心模块的使用必须通过require方法加载

const path = require('path')

fs-文件系统

http

os-操作系统

path-路径

url 

用户自定义模块

在浏览器中如果需要执行多个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互不影响。

exports与require具体细节

原文地址:https://www.cnblogs.com/lianglanlan/p/12157021.html