第六章:path 模块详解

JavaScript030

第六章:path 模块详解,第1张

path 模块提供了一些工具函数,用于处理文件与目录的路径。由于windows和其他系统之间路径不统一, path 模块还专门做了相关处理,屏蔽了彼此之间的差异。

可移植操作系统接口(英语:Portable Operating System Interface,缩写为POSIX),是IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称,其正式称呼为IEEE Std 1003,而国际标准名称为ISO/IEC 9945。此标准源于一个大约开始于1985年的项目。POSIX这个名称是由理查德·斯托曼应IEEE的要求而提议的一个易于记忆的名称。它基本上是Portable Operating System Interface(可移植操作系统接口)的缩写,而X则表明其对Unix API的传承。

Linux基本上逐步实现了POSIX兼容,但并没有参加正式的POSIX认证。

微软的Windows NT声称部分实现了POSIX标准。

当前的POSIX主要分为四个部分:Base Definitions、System Interfaces、Shell and Utilities和Rationale。

综述:目前主流的类Unix操作系统:Unix、Linux都会兼容POSIX的标准,而Windows只是部分实行了POSIX标准,所以后面我们说POSIX系统是指类Unix系统

可能大家比较熟悉windows资源管理系统,windows是分不同的磁盘,然后磁盘下面都是树状结构的文件和文件夹。

而类Unix(Unix、Linux)系统中是不分盘符的,只有一个根目录 / , 都是都是这个下面的子目录或者文件,当然也是树状的机构。

Linux的目录结构

除了目录结构有区别外,路径也是有区别的。windows是用反斜杠 \ 分割目录或者文件的,而在类Unix的系统中是用的 / 。

语法: path.basename(path[, ext])

参数:

例如:

完整实例:

默认情况下,node会根据不同的系统做相关兼容处理,力保输出的结果在不同平台下是一致的,但是某些情况下还是不能完美的兼容所有的情况。所以,node提供了 win32 和 posix 各自对应path的所有的api。也就是说: path 模块的api都可以通过 path.win32 或者 path.posix 调用。

要想在任何操作系统上处理 Windows 文件路径时获得一致的结果,可以使用 path.win32

要想在任何操作系统上处理 POSIX 文件路径时获得一致的结果,可以使用 path.posix

其他api也是一致的,不再赘述。

path.dirname() 方法返回一个 path 的目录名。

语法: path.dirname(path)

参数:

path.extname() 方法返回 path 的扩展名,即从 path 的最后一部分中的最后一个 .(句号)字符到字符串结束。

如果 path 的最后一部分没有 . 或 path 的文件名的第一个字符是 . ,则返回一个空字符串。

语法: path.extname(path)

path.format() 方法会从一个对象返回一个路径字符串。

语法: path.format(pathObject)

path.parse() 方法返回一个对象,对象的属性表示 path 的元素。

parse 方法跟 format 方法正好相反,所以不赘述。直接看例子:

path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。

长度为零的 path 片段会被忽略。 如果连接后的路径字符串是一个长度为零的字符串,则返回 '.',表示当前工作目录。

参数说明:

...paths <string> 一个路径片段的序列。

返回: <string>

path.relative() 方法返回从 from 到 to 的相对路径(基于当前工作目录)。

如果 from 和 to 各自解析到同一路径(调用 path.resolve()),则返回一个长度为零的字符串。

如果 from 或 to 传入了一个长度为零的字符串,则当前工作目录会被用于代替长度为零的字符串。

语法: path.relative(from, to)

参数:

path.resolve() 方法会把一个路径或路径片段的序列解析为一个绝对路径。

path.normalize() 方法会规范化给定的 path,并解析 '..' 和 '.' 片段。

当发现多个连续的路径分隔符时(如 POSIX 上的 / 与 Windows 上的 \ 或 /),它们会被单个的路径分隔符(POSIX 上是 /,Windows 上是 \)替换。 末尾的多个分隔符会被保留。

如果 path 是一个长度为零的字符串,则返回 '.',表示当前工作目录。

语法: path.normalize(path)

Windows 上是 \

POSIX 上是 /

为了兼容不同平台,node提供了一个path的辅助属性 path.sep 来兼容不同平台下的路径片段分隔符。

平台路径分隔符是不同的:

Windows 上是

POSIX 上是 :

node也做了兼容处理,提供了 path.delimiter 来实现平台兼容。

例如,我们常见的path环境变量上做分割处理:

path.isAbsolute(path) 此方法接受一个字符串,返回boolean类型。

node的path模块使用非常简单,而且老马简单看了一下node的源码,写的非常精彩,对于多种情况的处理都很恰到好处,推荐大家看node的path模块源码: /lib/path.js 。

《天龙八部之六脉神剑》完美硬盘版

www.33ii.com/SoftView/SoftView_637.html

完全硬盘版:天龙八部简体中文版

www.1dgame.com/soft/2528.htm

天龙八部完美中文完全版

http://07073.com/Soft/pc/jsby/200506/101.html

《天龙八部之六脉神剑》完美硬盘版

www.hao5.net/soft/4664.htm

《天龙八部之六脉神剑》完美硬盘版

www.game898.com/game_down/game_down_15855.htm

《天龙八部之六脉神剑》完美硬盘版

www.jc365.com/game/Htm_Down/9945.htm

天龙八部 简体中文版

www.5igames.net/list.asp?id=3521

如来神掌之宇宙争雄 简体中文版

www.yxbar.net/Soft/danji_games/D6I0/2005/52/48/82721655753.game

《如来神掌之宇宙争雄》正版4CD+镜像

http://download.163games.com/soft?cate_id=4&soft_id=6183

如来神掌之宇宙争雄正版

www.17qd.com/soft/1449.htm

如来神掌之宇宙争雄 简体中文版

www.yxdown.com/SoftView/SoftView_6051.html

如来神掌 简体中文版

http://gamebbs.9966.org/gamedown/view.asp?id=718

什么也不懂啊?

那就去买个品牌机,例如联想什么的,其实价格和DIY差不多,既然不懂DIY也不会有乐趣,反而徒增烦恼。。。。。。。

不懂就当作家用电器用好了,顺便享受一下售后服务~~~~~还减少了被js骗得风险

需要注意的事情:

CPU 最好是Intel,虽然有点贵~~~

内存不能少于512M,如果是疯狂游戏迷,喜欢追求市面上的最新3D游戏,那就最少1GB的标准。

硬盘也不能太小,160-320GB SATA 8/16MB CHCHE 7200RPM 都是需要达到的指标

显示卡必须要独立的,显存最小应该保持在128MB以上,一般128-512已经足以,对于1GB的SLI并不推荐,严重浪费,也许一辈子也用不上。

声卡:一般符合AC97规格的集成声卡都可以,除非你还追求杜比AC-3/5.1/8.x/DTS声音效果,如果有这种追求,那就直接Hi-Fi好了

显示器,现在液晶价格很低,买个19的应该可以,还不占地方,喜欢宽屏就宽屏。

机箱:一般好看就可以了,品牌机的机箱一般空间狭小,需要注意以后的升级问题。

买品牌机吧,什么也不懂还DIY,很容易被js宰,自己也麻烦~~~~