路径 (Path)–nodejs

本模块包含一套用于处理和转换文件路径的工具集。几乎所有的方法只做字符串变换, 不会调用文件系统检查路径是否有效。

通过 require('path') 来加载此模块。以下是本模块所提供的方法:

path.normalize(p)

规范化字符串路径,注意 '..' 和 '.' 部分

多个斜杠会被替换成一个; 路径末尾的斜杠会被保留; Windows 系统上, 会使用反斜杠。

path.join([path1], [path2], [...])

连接所有参数, 并且规范化得到的路径.

参数必须是字符串。在 v0.8 版本非字符串参数会被悄悄忽略。 在 v0.10 及以后版本将会抛出一个异常。

path.join('foo', {}, 'bar')
// 抛出异常
TypeError: Arguments to path.join must be strings

path.resolve([from ...], to)

to 解析为一个绝对路径。

如果to不是一个相对于from 参数的绝对路径,to会被添加到from的右边,直到找出一个绝对路径为止。如果使用from路径且仍没有找到绝对路径时,使用当时路径作为目录。返回的结果已经规范化,得到的路径会去掉结尾的斜杠,除非得到的当前路径为root目录。非字符串参数将被忽略。

另一种思路, 是把它看做一系列 cd 命令.

path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')

相当于:

cd foo/bar
cd /tmp/file/
cd ..
cd a/../subfile
pwd

不同的是,不同的路径不需要存在的,也可能是文件。

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')
// 如果当前工作目录为 /home/myself/node,它返回:
'/home/myself/node/wwwroot/static_files/gif/image.gif'

path.isAbsolute(path)

判定path是否为绝对路径。一个绝对路径总是指向一个相同的位置,无论当前工作目录是在哪里。

path.relative(from, to)

Solve从fromto的相对路径。

有时我们有2个绝对路径, 我们需要从中找出相对目录的起源目录。这完全是path.resolve的相反实现,我们可以看看是什么意思:

path.resolve(from, path.relative(from, to)) == path.resolve(to)

 

示例

path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
// 返回
'../../impl/bbb'

path.dirname(p)

返回路径中文件夹的名称. 类似于Unix的dirname 命令.

path.dirname('/foo/bar/baz/asdf/quux')
// returns
'/foo/bar/baz/asdf'

path.basename(p, [ext])

返回路径中的最后哦一部分. 类似于Unix 的 basename 命令.

path.basename('/foo/bar/baz/asdf/quux.html', '.html')
// returns
'quux'

path.extname(p)

返回路径中文件的扩展名, 在从最后一部分中的最后一个'.'到字符串的末尾。 如果在路径的最后一部分没有'.',或者第一个字符是'.',就返回一个 空字符串。

path.sep

特定平台的文件分隔工具. '\\' 或者 '/'.

*nix 上的例子:

'foo/bar/baz'.split(path.sep)
// returns
['foo', 'bar', 'baz']

Windows 上的例子:

'foo\\bar\\baz'.split(path.sep)
// returns
['foo', 'bar', 'baz']

path.delimiter

特定平台的路径分隔符, ; 或者 ':'.

*nix 上的例子:

process.env.PATH.split(path.delimiter)
// returns
['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']

Windows 上的例子:

console.log(process.env.PATH)
// 'C:\Windows\system32;C:\Windows;C:\Program Files\nodejs\'
process.env.PATH.split(path.delimiter)
// returns
['C:\Windows\system32', 'C:\Windows', 'C:\Program Files\nodejs\']

转载于:https://www.cnblogs.com/xiaopen/p/5304214.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OllyDBG反汇编快速找到程序入口一点分析

出处:http://hi.baidu.com/0soul/blog/item/b62f8f08c2c3c42c6b60fbbe.html 先声明下:这个和脱壳没关系,不是找壳里面的程序入口哦,只是程序本身的入口,个别朋友不要误会哈。其实这个应该是基础,但我经常找…

简单的Twitter:Heroku上的Play框架,AJAX,CRUD

因此,重大的公告发布了– Heroku开始为Play Framework应用程序提供本机支持! 如果您还没有听说过,请在Heroku的博客上查看Jesper Joergensen的帖子 。 因此,对于演示,我将建立一个非常基本的Twitter副本; 它…

Cron表达式

CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日…

深入理解JavaScript学习笔记(3)_全面解析Module模式

简介 Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式。 首先我们来看看Module模式的基本特征: 模块化,可重用封装了变量和function&#x…

汇编----乘指令: MUL、IMUL

MUL: 无符号乘 ;影响 OF、CF 标志位;指令格式:;MUL r/m ;参数是乘数;如果参数是 r8/m8, 将把 AL 做乘数, 结果放在 AX;如果参数是 r16/m16, 将把 AX 做乘数, 结果放在 EAX;如果参数是 r32/m32, 将把 EAX 做乘数, 结果放在 EDX:EAX IMUL: 有符号乘 ;影响 OF、CF 标志位;…

Google App Engine Java功能和命名空间API

功能API 使用Capabilities API,您的应用程序可以检测特定API功能的停机和计划停机时间。 您可以使用此API来检测应用程序何时不可用,然后绕过它来减少应用程序的停机时间。 我们该如何处理,这是个折衷方案? 1.优雅:创…

破解key file时经常用到的几个API函数及其用法

CreateFile函数 ================================================================================== CreateFile: Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file stream, directory, physical disk, volume, …

PHP计划任务之关闭浏览器后仍然继续执行的函数

函数名称:ignore_user_abort 本函数配置或取得使用端连接中断后,PHP 程序是否仍继续执行。默认值为中断连接后就停止执行。在 PHP 配置文件中 (php3.ini/php.ini) 的 ignore_user_abort 选项就是配置处。本功能在 PHP 3.0.7 版之后才开始提供。 官方说明…

node--更新数据库问题

昨天测试blog的comment功能,在新增comment相关的代码之后,重启应用,出现Cannot call method forEach of undefined 。反复核对代码,都没发现异常,最后将数据库文件删除之后,再重启数据库,一切正…

U盘做完启动盘,如何恢复原始容量

(1)右击“我的电脑”,选择“管理”选项,之后选择“磁盘管理”,查看自己U盘的索引,如:Disk 1(2)在运行窗口,输入cmd,回车,出现Dos运行环…

GWT Spring和Hibernate进入数据网格世界

利用Infinispan数据网格的功能最大化Hibernate性能。 一个GWT , Spring , JPA , Hibernate , Infinispan集成教程。 在本教程中,我们将讨论如何将Infinispan用作Hibernate二级缓存提供程序。 Infinispan是JBoss缓存的…

记对一个key file crackme的破解

crackme下载地址: http://kssd.pediy.com/tutorial/exercise/section04/chap6-1-4-03.zip ------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------…

第八章 CTE 递归 及 分组汇总 高级部分(多维数据集)

UNION 等集合操作符:UNION 等以第一个 SELECT 的 列明 作为 整个结果集的列明,整个结果集 唯一认可的 唯一逻辑处理阶段 是 ORDER BY 这个意思是说 只有 ORDER BY 是对整个结果集作用的,其它都操作都作用在 UINON 两侧的 子集合中。EXCEPT 操…

Java Code Geeks Andygene Web原型

大家好, 我们很高兴地宣布,一组Maven原型的第一个版本已经发布!!! 该集合的目的是提供可以满足各种开发需求的项目模板。 您可以在本文末尾找到JCG路线图。 该第一个发行版旨在提供项目模板-Web应用程序的体系结构。 …

关于如何用od反汇编win32 控制台程序

*********************************************************** 如何用od反汇编win32 控制台程序(类似dos程序)呢?*********************************************************** 注:od是用来调试win32程序的 1.反编译win32 控制台程序&…

Chrome/Chromium HTML5 video 视频播放硬件加速

Chromium站点上有个大致的框图。描写叙述了Chromium的video在各个平台 - 包含Android - 上是怎样使用硬件资源来做视频编解码加速的: 而依据Android Kitkat上的Chromium代码分析,HTML5 video播放硬件加速,终于是使用MediaCodec.java来利用本地…

.net mvc结合微软提供的FormsAuthenticationTicket登陆

一、Web.config <system.web><compilation debug"true" targetFramework"4.5" /><httpRuntime targetFramework"4.5" /><authentication mode"Forms"><forms loginUrl"/Sign/SignIn" defaultUrl…

vc6.o--fatal error C1010错误的解决

当编译c文件时&#xff0c;出错信息为&#xff1a;fatal error C1010: unexpected end of file while looking for precompiled header directive 解决方案&#xff1a; 1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的&#xff0c;则AltF7进入当前工程的…

具有Java 7中自动资源管理功能的GC

这篇文章简要概述了Java 7中引入的称为自动资源管理或ARM的新功能。 文章探讨了ARM如何减少开发人员为有效释放分配的资源的JVM堆而必须编写的代码。 Java编程语言中编程的最甜蜜之处之一是对象取消分配的自动处理。 在Java世界中&#xff0c;这通常被称为垃圾收集。 基本上&am…