0424 手打基础丸

41 阅读2分钟

手打基础丸 🧆 => 精选基础知识,经过多道工序精心制作而成,口感鲜嫩多汁。一口咬下,香气四溢,加上传统前端风味,令人回味无穷...... 助力食用者厚积薄发,夯实根基进阶上层。

前几天去度假🎈去了停更了几天,今天开始恢复更新😁

今天是Node.js专题👺

Node.js全局对象?

指在任何地方都能访问的对象,不需要require引入

global:全局命名空间对象 类似浏览器中的window

process:提供当前node进程的信息和控制功能

__dirname:当前脚本所在目录绝对路径

__filename:当前脚本所在目录相对路径

console:用于打印输出信息于控制台

module和exports:用于导入和导出模块

定时器函数:setTimeout、clearTimeout、setInterval、clearInterval

Buffer:用于处理二进制数据如视频图片等,文件处理和网络传输,转换编码格式

Node.js中的模块加载机制?

模块加载机制主要依赖于commonJS

主要是一下几个步骤:

路径解析:通过模块绝对路径、相对路径或包名进行解析,会在node_modules中查找目标

文件类型识别:包括.js、.json、.node,没有明确后缀就会按照该顺序依次尝试加载

编译:Js会利用v8引擎进行编译,json会使用JSON.parse进行解析,node文件会调用process.dlopen进行处理

缓存:为提高性能,node.js会对已经加载的模块进行缓存

Node.js中的REPL?

一个交互式的编程环境,可以实时输入和执行js代码,类似于win终端

基本工作原理是:读取输入内容--对输入内容进行求值--打印结果--等待下一次输入

Node.js子进程?

子进程是一个独立的执行环境,子进程可以由父进程创建并控制。

可以通过child_process.spawn()、child_process.exec()、child_process.fork()

child_process.spawn():创建一个新的子进程并执行一个命令,可以实时读取子进程输出流
child_process.exec():主要用于执行简单shell命令
child_process.fork():专用于创建子进程,允许父子进程通信

Node.js获取命令行参数?

process.argv 可以用来获取命令行参数的数组。

// 例如运行node script.js arg1 arg2
process.argv //返回['node-path', 'script.js', 'arg1', 'arg2']