手打基础丸 🧆 => 精选基础知识,经过多道工序精心制作而成,口感鲜嫩多汁。一口咬下,香气四溢,加上传统前端风味,令人回味无穷...... 助力食用者厚积薄发,夯实根基进阶上层。
前几天去度假🎈去了停更了几天,今天开始恢复更新😁
今天是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']