node相关的各种知识

什么是 Node

Node 是一个 Javascript 运行时,运行时(runtime)可以当作一种编程语言的运行环境,其中包括了运行代码需要的编译器以及操作系统的底层支持。

Node 内部机制

回调

回调就是将函数作为另一个函数的参数传入,并且可以被执行,本质上是一个高阶函数
回调方法和主线程处于同一层级,比如主线程发起了一个系统底层调用,那操作系统转而去执行这个系统调用,调用结束后又回到主线程上调用其后的方法

异步+回调:实现高并发

在异步过程中。node 遇到 io 操作时会发起一个调用继续向下执行,io 操作完成后再执行对应回调函数的回调函数,因此 nodejs 虽然时单线程,但也能支持高并发。

常用 API

path.resolve 方法用于将相对路径转为绝对路径。

它可以接受多个参数,依次表示所要进入的路径,直到将最后一个参数转为绝对路径。如果根据参数无法得到绝对路径,就以当前所在路径作为基准。除了根目录,该方法的返回值都不带尾部的斜杠。

1
2
3
4
5
// 格式
path.resolve([from ...], to)

// 实例
path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')