如何在nodejs定义全局变量呢?
在nodejs中使用global定义全局变量,定义的变量,可以在引入的文件中也可以访问到该变量,例如a.js
global.xxx = 'xxx'
require('xxx.js')
xxx.js 也可以访问到该变量,在浏览器中我们定义的全局变量都在window,nodejs在global,不同的环境还需要判断,于是在ECMAScript 2020 出现了一个globalThis
全局变量,在nodejs环境会自动切换成global ,浏览器环境自动切换window非常方便
关于其他全局API
由于nodejs中没有DOM和BOM,除了这些API,其他的ECMAscriptAPI基本都能用
例如
setTimeout setInterval Promise Math console Date fetch(node v18) 等...setTimeout setInterval Promise Math console Date fetch(node v18) 等...setTimeout setInterval Promise Math console Date fetch(node v18) 等...
这些API 都是可以正常用的
nodejs内置全局API
__dirname__dirname__dirname
它表示当前模块的所在目录
的绝对路径
__filename__filename__filename
它表示当前模块文件
的绝对路径,包括文件名和文件扩展名
require modulerequire modulerequire module
引入模块和模块导出上一章已经详细讲过了
processprocessprocess
process.argv
: 这是一个包含命令行参数的数组。第一个元素是Node.js的执行路径,第二个元素是当前执行的JavaScript文件的路径,之后的元素是传递给脚本的命令行参数。process.env
: 这是一个包含当前环境变量的对象。您可以通过process.env
访问并操作环境变量。process.cwd()
: 这个方法返回当前工作目录的路径。process.on(event, listener)
: 用于注册事件监听器。您可以使用process.on
监听诸如exit
、uncaughtException
等事件,并在事件发生时执行相应的回调函数。process.exit([code])
: 用于退出当前的Node.js进程。您可以提供一个可选的退出码作为参数。process.pid
: 这个属性返回当前进程的PID(进程ID)。
这些只是process
对象的一些常用属性和方法,还有其他许多属性和方法可用于监控进程、设置信号处理、发送IPC消息等。
需要注意的是,process
对象是一个全局对象,可以在任何模块中直接访问,无需导入或定义。
BufferBufferBuffer
-
创建
Buffer
实例:Buffer.alloc(size[, fill[, encoding]])
: 创建一个指定大小的新的Buffer
实例,初始内容为零。fill
参数可用于填充缓冲区,encoding
参数指定填充的字符编码。Buffer.from(array)
: 创建一个包含给定数组的Buffer
实例。Buffer.from(string[, encoding])
: 创建一个包含给定字符串的Buffer
实例。
-
读取和写入数据:
buffer[index]
: 通过索引读取或写入Buffer
实例中的特定字节。buffer.length
: 获取Buffer
实例的字节长度。buffer.toString([encoding[, start[, end]]])
: 将Buffer
实例转换为字符串。
-
转换数据:
buffer.toJSON()
: 将Buffer
实例转换为JSON对象。buffer.slice([start[, end]])
: 返回一个新的Buffer
实例,其中包含原始Buffer
实例的部分内容。
-
其他方法:
Buffer.isBuffer(obj)
: 检查一个对象是否是Buffer
实例。Buffer.concat(list[, totalLength])
: 将一组Buffer
实例或字节数组连接起来形成一个新的Buffer
实例。
请注意,从Node.js 6.0版本开始,Buffer
构造函数的使用已被弃用,推荐使用Buffer.alloc()
、Buffer.from()
等方法来创建Buffer
实例。
Buffer
类在处理文件、网络通信、加密和解密等操作中非常有用,尤其是在需要处理二进制数据时
© 版权声明
文章版权归作者所有,未经允许请勿转载,侵权请联系 admin@trc20.tw 删除。
THE END