Node.js是一种基于事件驱动、非阻塞I/O的服务器端JavaScript运行环境,它提供了丰富的标准模块以支持各种Web应用程序的开发。在Node.js中,有一些全局变量可以直接访问,这些变量和对象会自动注入到全局命名空间中,方便我们进行开发。
__dirname
和 __filename
__dirname
和__filename
是两个常用的全局变量,它们分别表示当前模块所在的目录和文件路径。在Node.js中,每个模块都有一个module
对象,其中包含了exports
、require
和id
等属性。__dirname
和__filename
则是module
对象的属性之一。
下面是一个示例代码,演示了如何使用__dirname
和__filename
:
console.log(__dirname); // 输出当前模块所在的目录 console.log(__filename); // 输出当前模块的文件路径
process
对象
process
对象是一个全局变量,提供了对进程的访问和控制。它包含了很多有用的属性和方法,比如argv
、env
、cwd()
、exit()
等。
以下是一个演示如何使用process
对象的示例代码:
// 读取命令行参数 console.log(process.argv); // 设置环境变量 process.env.NODE_ENV = 'production'; // 输出当前工作目录 console.log(process.cwd()); // 退出进程 process.exit(0);
setTimeout
和 setInterval
setTimeout
和setInterval
是两个常用的定时器函数,它们都是全局变量。setTimeout
用于在一定时间后执行一次回调函数,而setInterval
则用于定期执行回调函数。
以下是一个演示如何使用setTimeout
和setInterval
的示例代码:
// 在5秒后输出一条消息 setTimeout(() => { console.log('Hello, world!'); }, 5000); // 每隔1秒输出一条消息 setInterval(() => { console.log('Tick'); }, 1000)
Buffer
对象
Buffer
对象是Node.js中处理二进制数据的核心模块,它提供了对二进制数据的创建、读写、转换等操作。Buffer
对象也是一个全局变量,因此可以直接访问。
以下是一个演示如何使用Buffer
对象的示例代码:
// 创建一个包含ASCII编码的字符串的Buffer对象 const buf = Buffer.from('hello', 'ascii'); // 输出Buffer对象的内容 console.log(buf); // 将Buffer对象转换为Base64格式的字符串 const base64str = buf.toString('base64'); console.log(base64str);
总结
Node.js提供了丰富的标准模块以支持各种Web应用程序的开发,其中一些模块会自动注入到全局命名空间中,方便我们进行开发。本文介绍了几个常用的全局变量和对象,并演示了如何使用它们。熟练掌握这些全局变量和对象可以大大提高我们的Node.js开发效率。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/14245