NodeJs简明教程将从零开始学习NodeJs相关知识,帮助JS开发者搭建全栈开发技术栈!本文是NodeJs简明教程的第五部分,将介绍NodeJs路径模块相关的基本操作。路径模块提供用于处理文件路径和目录路径的实用程序。注意:路径模块只处理文件路径。说白了就是字符串处理。它与文件系统无关。path.basename()方法返回路径的最后一部分,类似于Unixbasename命令。忽略尾随目录分隔符。returnwithextensionconstpath=require('path');console.log(path.basename('/usr/local/a.txt'))//输出a.txtreturnwithoutextensionconstpath=require('path');console.log(path.basename('/usr/local/a.txt','.txt'))//输出读取文件路径的目录名path.dirname()方法返回path目录名,类似于Unixdirname命令。忽略尾随目录分隔符。path.extname()方法从最后一次出现的a返回路径的扩展名。(句点)字符到路径最后部分中字符串的结尾。如果没有则返回空字符串。在路径的最后部分,或者如果路径的基本名称(请参阅path.basename())没有.除了第一个字符。constpath=require('path');console.log(path.dirname('/usr/local/a.txt'))//输出/usr/local获取文件扩展名path.extname()方法返回路径的扩展名,从最后一次出现的.(句点)字符到路径最后部分中字符串的结尾。constpath=require('path');console.log(path.extname('/usr/local/a.txt'));//输出.txt检测路径是否为绝对路径path.isAbsolute()检测路径的方法是不是绝对路径。constpath=require('path');//Linux||macosxconsole.log(path.isAbsolute('/usr/local'));//输出trueconsole.log(path.isAbsolute('usr/local'));//输出false//windowsconsole.log(path.isAbsolute('//server'));//输出trueconsole.log(path.isAbsolute('\\\\server'));//输出trueconsole.log(path.isAbsolute('c:\windows'));//输出真console.log(path.isAbsolute('foo/bar'));//输出false生成规范化路径path.join()方法使用平台特定的分隔符作为分隔符,将所有给定的路径片段连接在一起,然后规范化生成的路径。忽略零长度路径片段。如果连接的路径字符串是零长度字符串,则“.”返回,表示当前工作目录。constpath=require('路径');console.log(path.join('/a','b','c','..'));//输出/a/bconsole.log(path.join('.','a','b','..','c'));//输出a/c解析路径path.parse()方法返回一个对象,其属性代表路径的重要元素。忽略尾随目录分隔符。返回对象的属性如下:dir目录root根目录基本文件名或带扩展名的目录名(如果最后一层是目录)name文件名(不带扩展名)或目录名ext文件扩展名(如果是directoryemptystring)constpath=require('path');path.parse('/home/user/dir/file.txt');//return//{root:'/',//dir:'/home/user/dir',//base:'file.txt',//ext:'.txt',//name:'file'}获取两个路径的相对路径path.relative()方法返回相对基于当前工作目录的从到到的路径。constpath=require('路径');console.log(path.relative('/data/orandea/test/aaa','/data/orandea/impl/bbb'));//Output../../impl/bbb得到一个规范化的绝对??路径。path.resolve()方法将路径或一系列路径片段解析为绝对路径。constpath=require('路径');console.log(path.resolve('/foo/bar','./baz'));//输出/for/bar/bazconsole.log(path.resolve('/foo/bar','/tmp/file/'););//output/tmp/fileconsole.log(path.resolve('a','b','../c/img.gif'));//假设当前工作目录/home/wwwroot,上面的语句输出/home/wwwroot/a/c/img.gifconsole.log(path.resolve());//假设当前工作目录/home/wwwroot输出/home/wwwroot结论path模块的主要作用是处理路径相关的,经常和fs模块一起使用。欢迎关注Nodejs之路公众号持续更新和在线问答帮助。
