path模块的各种API

path.join([...paths])

参数:paths <string> ,paths参数是字符串,这些字符串按路径片段顺序排列,(A sequence of path segments)。

返回值:Returns: <string>,也是个字符串。

join()方法将所有的路径片段以平台特定的分隔符组合在一起,然后返回标准的路径字符串。

zero-length的字符串片段会被忽略,直接返回一个'.',这个'.'代表当前的工作的路径。

path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// Returns: '/foo/bar/baz/asdf' ----这里'..'直接返回上一层目录。 path.join('foo', {}, 'bar');
// throws 'TypeError: Path must be a string. Received {}'

path.resolve([...paths])

参数:paths <string> ,paths参数是字符串,这些字符串按路径片段或者路径顺序排列,(A sequence of path or path segments)。

返回值:Returns: <string>,也是个字符串。

path.resolve方法,将路径片段或者路径按顺序解析为绝对的路径地址。给定的路径片段按照从右到左的顺序解析,添加到最终生成的绝对路径上。

下面看几个例子:

var path = require('path');
var str = path.join('./path/./', './upload', '/file', '123.jpg');
var a = path.resolve('/foo/bar', '/tmp/file/');
var b = path.resolve('/foo/bar', './baz');
var c = path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
var d = path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile');
console.log(str);--->path/upload/file/123.jpg
console.log(a); --->/tmp/file (此处有/tmp/file的绝对地址,故直接解析成/tmp/file)
console.log(b); ---> /foo/bar/baz ()
console.log(c); --->/Users/xuzhudong/Desktop/wwwroot/static_files/gif/image.gif(当前的工作目录是/Users/xuzhudong/Desktop/,
故解析为/Users/xuzhudong/Desktop/wwwroot/static_files/gif/image.gif)
console.log(d); --->/tmp/subfile  

path.resolve()的方法解析不是在是简单的拼接关系,而是类似 cd 命令的解析了。

 

node.js的path模块的更多相关文章

  1. Node.js的Formidable模块的使用

    今天总结了下Node.js的Formidable模块的使用,下面做一些简要的说明. 1)     创建Formidable.IncomingForm对象 var form = new formidab ...

  2. node.js中express模块创建服务器和http模块客户端发请求

    首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文 ...

  3. node.js的File模块

    1.Node.js是什么? (1) Nodejs是为了开发高性能的服务器而诞生的一种技术 (2) 简单的说 Node.js 就是运行在服务端的 JavaScript,基于V8进行运行 (3) Node ...

  4. 利用Node.js的Net模块实现一个命令行多人聊天室

    1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...

  5. Node.js入门:模块机制

    CommonJS规范      早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来 ...

  6. Node.js的net模块

    net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法 创建TCP服务器 net.createServer方法 创建客户端去连接服务器 net.connect方法 简 ...

  7. node.js中ws模块创建服务端和客户端,网页WebSocket客户端

    首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...

  8. node.js中net模块创建服务器和客户端(TCP)

    node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require(" ...

  9. 第5月第10天 node.js的request模块

    1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html

随机推荐

  1. Property 'validate' does not exist on type 'Element | Element[] | Vue | Vue[]'. Property 'valid...

    使用vue-cli 3.0+Element-ui时候,调用form表单校验时候出现的问题是: Property 'validate' does not exist on type 'Element | ...

  2. [CQOI2011]放棋子--DP

    题目描述: 输入格式 输入第一行为两个整数n, m, c,即行数.列数和棋子的颜色数.第二行包含c个正整数,即每个颜色的棋子数.所有颜色的棋子总数保证不超过nm.N,M<=30 C<=10 ...

  3. c++容器的操作方法总结

    一.map 1.创建 typedef map<int,string> descrbe_map_; descrbe_map_ devMap; 或者 map<string,string& ...

  4. Django惰性加载和LazyObject

    看登录中间件的时候发现request.user返回的是SimpleOject对象,往下看翻到了LazyObject,看源码看了半天没看懂 网上搜了一堆资料了解下惰性加载实现是的什么功能,再回去看源码, ...

  5. R语言画图教程之盒形图

    R语言画图教程之盒形图 我们之前有分享过一系列的R语言画图代码(PCA图.Pathway图.火山图.RDA图.热图),今天再来补充一个盒形图(箱形图)的代码. 以下代码只是示例,不能直接搬来用哦,注意 ...

  6. Golang数据库操纵对IN语句的支持

    一: 在实际的工程项目中,SQL通常使用预编译的形式进行执行操纵,可以有效的防止SQL注入的风险,提高编码的规范性.golang中使用sqlx进行sql查询的时候,在使用in语句在一个集合中查询的时候 ...

  7. CentOS 6.5 Apache+SVN使用户可以自己修改密码

    yum -y install php #安装php mkdir /var/www/svnadmin #建立页面目录 vi /var/www/svnadmin/index.php #创建index.ph ...

  8. 巧用having

    mysql学习教程参考:https://www.w3school.com.cn/sql/index.asp where 与 having实例运用参考:https://www.2cto.com/data ...

  9. 应读的paper

    1.Faster R-CNN:https://arxiv.org/abs/1506.01497(已读) 2.FPN(Feature Pyramid Networks for Object Detect ...

  10. log4j 配置文件参数说明

    log4j 框架配置文件常用参数说明 %d 时间(-- ::,) %-5p 日志级别(INFO/DEBUG) %10c 包名(com.xxx.xxx.business.logging) %M 执行的方 ...