一、node.js有哪些全局对象
在Node.js中,有些对象可以在代码的任何地方都使用,这些对象被称为全局对象。这些全局对象可以通过require()函数来引用,以下是Node.js中常用的全局对象:
-
__dirname:表示当前执行脚本所在的目录的绝对路径。
-
__filename:表示当前执行脚本的文件名。
-
exports:表示模块的导出对象,如果想要在模块外部访问这个模块需要将需要提供访问的属性或方法挂载到exports对象上。
-
module:表示当前模块自身,可以用来访问当前模块的属性和方法,例如 module.exports 可以用来给模块外提供访问的方法和属性。
-
process:表示当前Node.js进程的全局对象,它提供了进程相关的信息和操作的方法。
-
global:表示全局命名空间的对象,在Node.js中所有模块内定义的变量、函数都是全局变量、函数。global对象始终存在于Node.js进程的任何地方,可以直接使用。
二、示例说明
下面给出两个示例来说明全局对象的使用:
1.使用__dirname和__filename全局对象
在Node.js中,有一种常用的模块引入方式是使用require函数,但是有时候也需要根据当前路径来引入模块。这时候就可以使用__dirname和__filename全局对象来获取当前模块所在的路径和文件名。
代码示例:
const path = require('path');
console.log('__dirname:', __dirname);
console.log('__filename:', __filename);
console.log('path.dirname(__filename):', path.dirname(__filename));
console.log('path.basename(__filename):', path.basename(__filename));
运行结果:
__dirname: /Users/user/demo
__filename: /Users/user/demo/index.js
path.dirname(__filename): /Users/user/demo
path.basename(__filename): index.js
2.使用exports对象
在Node.js中,模块通常会将需要导出的方法或变量挂载到exports对象上,这样就可以在模块外部使用这些方法或变量了。下面给出一个示例。
代码示例:math.js
exports.add = function(x, y) {
return x + y;
};
exports.sub = function(x, y) {
return x - y;
};
在另一个文件中引用math.js模块并调用add方法。
代码示例:index.js
const math = require('./math');
console.log(math.add(1, 2)); // 输出3
以上就是“一文详解Node.js有哪些全局对象”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文详解node.js有哪些全局对象呢 - Python技术站