当前位置: 首页 > 后端技术 > Node.js

node.js中全局成员和路径模块的使用

时间:2023-04-03 11:19:02 Node.js

一、node.js的全局成员1.全局在浏览器的平台环境下,全局对象是window,即定义在全局环境中的任意变量可以用window对象来获取。node环境中的全局对象是全局的,类似于客户端javascript运行环境中的window。2.process该对象用于获取当前Node进程的信息,一般用于获取环境变量等信息。2.1.process.env该属性用于获取当前操作系统配置的环境变量。它是一个对象,它的每个成员都以键值对的形式出现。使用process.env.PATH时,可以打印出环境变量中PATH对应的值。2.2.process.argv该属性用于获取命令行当前传递的参数,并以字符串数组的形式打印出argv的所有成员。使用node运行js文件时,传递的参数紧跟在后面,每个参数之间用空格隔开。不管怎样,argv的第一个成员是node.exe所在的绝对物理路径,第二个成员是正在执行的js文件的绝对物理路径,第三个成员是用户命令行中传递的每个参数.因此,我们可以使用process.argv.slice(2)删除前两个成员。2.3.process.stdout该属性用于在控制台上执行标准输出操作。3.两个常用模块内部的伪全局成员3.1。__dirname该成员用于获取当前js文件所在目录(文件夹)的完整绝对物理路径。该成员只在模块内部有效,在REPL环境下无效。3.2、__filename该成员用于获取当前js文件的完整绝对物理路径。该成员只在模块内部有效,在REPL环境下无效。因为在node中所有的文件操作,为了避免出错,所有的文件路径都必须使用绝对物理路径,所以这两个成员被广泛使用。二、node.js中的路径模块1.path.join(p1,p2)该方法用于完成路径的拼接,使用多个字符串表示多个路径,逗号分隔各个元素。2.path.basename(p[,ext])该方法用于获取完整文件路径的文件名部分。如果传入第二个后缀名参数,则可以得到不带后缀名的文件名。3.path.dirname(p)该方法用于获取完整文件路径中文件所在目录(文件夹)的路径地址。4.path.delimiter该属性用于获取当前操作系统中默认的路径分隔符。Windows下默认的路径分隔符是“;”,而Linux系统下默认的路径分隔符是“:”。5.path.extname(p)该方法用于获取文件在完整文件路径中的后缀(扩展名)。6.path.parse(pathString)该方法用于将字符串类型的路径转换为路径对象(pathObject)。路径对象包括文件目录、文件名、扩展名等。7.path.format(pathObject)该方法用于将一个路径对象转换为字符串类型的路径(pathString)。8.path.isAbsolute(p)该方法用于判断传入的路径字符串对应的路径是绝对路径还是相对路径,返回值为true或false。(这里只判断路径,不涉及文件操作,所以路径中的文件是否存在不影响判断结果)。9.path.normalize(p)此方法用于规范化路径字符串。它会判断当前操作系统是windows还是linux,从而选择正斜杠或者反斜杠来规范路径。同时也会处理路径中出现多个路径分隔符的问题。10.path.relative(from,to)该方法用于获取to相对于from的相对路径,要求传入的from和to的参数均为路径字符串,且均要求为绝对路径。11.path.resolve([from...],to)该方法类似于path.join(),可以传入多个绝对路径字符串或者相对路径字符串,最后完成路径拼接。12.path.sep该属性用于获取当前操作系统默认使用的路径成员分隔符。windows系统和linux系统默认的路径成员分隔符是不一样的。13、path.win32和path.posix都是属性。path:根据当前的操作系统来决定是使用windows方式操作路径还是linux方式操作路径。path.win32:允许使用windows操作任何操作系统上的路径。path.posix:允许使用linux在任何操作系统上操作路径。因此,在windows系统中,path==path.win32,在linux系统中,path==path.posix。