node.js的path模块
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模块的更多相关文章
- Node.js的Formidable模块的使用
今天总结了下Node.js的Formidable模块的使用,下面做一些简要的说明. 1) 创建Formidable.IncomingForm对象 var form = new formidab ...
- node.js中express模块创建服务器和http模块客户端发请求
首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文 ...
- node.js的File模块
1.Node.js是什么? (1) Nodejs是为了开发高性能的服务器而诞生的一种技术 (2) 简单的说 Node.js 就是运行在服务端的 JavaScript,基于V8进行运行 (3) Node ...
- 利用Node.js的Net模块实现一个命令行多人聊天室
1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...
- Node.js入门:模块机制
CommonJS规范 早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来 ...
- Node.js的net模块
net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法 创建TCP服务器 net.createServer方法 创建客户端去连接服务器 net.connect方法 简 ...
- node.js中ws模块创建服务端和客户端,网页WebSocket客户端
首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...
- node.js中net模块创建服务器和客户端(TCP)
node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require(" ...
- 第5月第10天 node.js的request模块
1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html
随机推荐
- sql 2000 or sql2005 数据库日志删除
数据库日志清理(sql 2000 or sql2005)DUMP TRANSACTION crm WITH NO_LOGBACKUP LOG crm WITH NO_LOGDBCC SHRINKDAT ...
- C++项目使用的开源库记录
日志库:log4cplus 网络库:libcurl xml库:tinyxml 多媒体库:lib555 视频解码库:ffmpeg 用opencv的VideoCapture类可以直接打开rtsp视频,所以 ...
- 洛谷P3745 [六省联考2017]期末考试
传送门 题解 //Achen #include<algorithm> #include<iostream> #include<cstring> #include&l ...
- 你真的了解cookies吗?
互联网隐私安全,直接放链接吧,这一篇非常好的文章,详细,全面,专业. http://www.freebuf.com/articles/web/127266.html 浅谈Web客户端追踪 一. W ...
- 关于UML类图的一点理解(转)
首先我们定义一个非常简单的Person类,代码如下: public class Person { private String name; private int age =1; public Str ...
- iOS多线程方案总结及使用详解
本篇文章整理了几种iOS中主要的多线程方案,提供了Swift和Objective-C两种语言的写法. 概述 iOS目前有四种多线程解决方案: NSThread GCD NSOperation Pthr ...
- 关于开启Eureka安全Security认证后,客户端死活注册不上的问题
遇到一个问题"开启Eureka服务端的安全认证后,客户端死活注册不到Eureka上",已经尝试了以下办法,完全搞不定... 客户端出错的版本: spring-boot:2.0.3. ...
- WCF简要介绍
什么是WCF WCF的全称是:Windows Communication Foundation.从本质上来说,它是一套软件开发包,是微软公司推出的符合SOA思想的技术框架.WCF为程序员提供了丰富的功 ...
- Leetcode405Convert a Number to Hexadecimal数字转换为十六进制数
给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写. 十六进制字符串中不能包含多余的前导零.如果要转化的数 ...
- 解释性语言和非解释性语言,GIL锁
解释性语言:python写的代码就被称为程序,cpu硬件能运行二进制代码指令.demo.py需要经过python解释器编译才做才能执行. 非解释性语言:例如c语言程序,同样需要写代码.demo.c这个 ...