1.node概述

1.1简介

什么是node
Node是一个JS的运行环境
1.2分类
浏览器中的js,node中的js,分层结构对比图
1.3官网
https://nodejs.org/en/
民间官网;http://nodejs.cn/
1.2使用场景
image.png

2.全局变量

setTimeout,
setTimeout,
setImmediate(类似于 setTimeout 0),
console,
dirname:获取当前模块所在的目录。并非global属性
filename:获取当前模块的文件路径。并非global属性
Buffer(略)
Buffer(略)

3.node模块化细节

模块化查找:
绝对路径:根据绝对路径直接加载模块
相对路径
1.检查是否是内置模块,如:fs、path等
2.检查当前目录中的node_modules
3.检查上级目录中的node_modules
4.转换为绝对路径
5.加载模块
关于后缀名
1.如果不提供后缀名,自动补全
2.js、json、node、mjs
关于文件名
1.如果仅提供目录,不提供文件名,则自动寻找该目录中的index.js
2.package.json中的main字段
表示包的默认入口
导入或执行包时若仅提供目录,则使用main补全入口
默认值为index.js

module对象:记录当前模块的信息
require函数:当执行一个模块或使用require时,会将模块放置在一个函数环境中

5.其他模块

os path url util

6.基本内置模块