首页 技术 正文
技术 2022年11月12日
0 收藏 677 点赞 2,717 浏览 2720 个字

Path模块

该模块提供了对文件或目录路径处理的方法,使用require('path')引用。

1、获取文件路径最后部分basename

使用basename(path[,ext])方法来获取路径的最后一部分,参数ext是后缀名,如下所示:

var bname = path.basename('../test.txt');
console.log(bname);//test.txt
var bname = path.basename('../test.txt','.txt');
console.log(bname);//test

2、获取文件路径目录部分dirname

使用dirname(path)方法来获取路径目录部分,如下所示:

console.log(path.dirname('../canvasDemo/axis/axis.css'));//../canvasDemo/axis

3、获取后缀名

使用extname(path)方法来后缀名,该方法是截取最后的’.’点到结束的字符串,如果点不存在,则返回空字符串,如果点在最后则直接返回点,如下所示:

console.log(path.extname('../test.txt'),path.extname('../test.'),path.extname('../test'));//.txt . 空

4、获取当前平台的文件分隔符和路径分隔符

path.sep返回文件分隔符,path.delimiter获取路径分隔符,它们都是操作系统决定的,如下所示:

console.log(path.sep);// \
console.log(path.delimiter);// ;

5文件路径分析

使用path.parse(path)方法对一个路径进行分析,然后返回一个对象,该对象拥有5个属性,分别是:root,dir,base,ext,name。使用如下所示:

var obj = path.parse('../canvasDemo/axis/axis.css');
console.log(obj);
/*{ root: '',
dir: '../canvasDemo/axis',
base: 'axis.css',
ext: '.css',
name: 'axis' }*/

URL模块

url模块提供对url解析的方法,使用require('url')引用。Url统一资源定位器,主要包涵以下部分,如下所示:

![URL组成] (https://img.zhankr.net/hnupstrlv5f119815.jpg)

1、url解析

使用url.parse(urlString[, parseQueryString[, slashesDenoteHost]])方法对一个url字符串进行解析,解析成功后返回一个包含上图所示字段的对象,参数parseQueryString是一个布尔值,如果设置为true,则自动使用querystring模块的parse方法对查询字符串进行解析,否则返回原始字符串,默认为false。使用如下所示:

var url = require('url');
var urlObj = url.parse('https://nodejs.org:443/dist/latest-v6.x/docs/api/url.html?ver=011#url_urlobject_auth');
for(var i in urlObj){
if(urlObj.hasOwnProperty(i)){
console.log(i+':'+urlObj[i]);
}
}

执行即如果如下所示:

E:\developmentdocument\nodejsdemo>node url-example.js

protocol:https:

slashes:true

auth:null

host:nodejs.org:80

port:80

hostname:nodejs.org

hash:#url_urlobject_auth

search:?ver=011

query:ver=011

pathname:/dist/latest-v6.x/docs/api/url.html

path:/dist/latest-v6.x/docs/api/url.html?ver=011

href:https://nodejs.org:80/dist/latest-v6.x/docs/api/url.html?ver=011

ject_auth

2、将urlObject转换成url字符串

使用url.format(urlObject)方法可以将一个urlObject对象转换成格式化的url字符串,使用如下所示:

console.log(url.format(urlObj));//https://nodejs.org:80/dist/latest-v6.x/docs/api/url.html?ver=011

querystring模块

该模块可以用来解析和格式化URL查询字符串,使用require('querystring')进行引用。

1、解析查询字符串

方法querystring.parse(str[, sep[, eq[, options]]])可以解析一个查询字符串,转换成key-value键值对,参数含义如下:

  • sep:指定每个键值对的分隔符,默认为"&"
  • eq:指定key-value的分隔符,默认为"="

    使用如下所示:

const qs = require('querystring');
const searchStr = 'name=zhangsan&age=20';
const str = 'name*lisi^age*20';console.log(qs.parse(searchStr));//{ name: 'zhangsan', age: '20' }
console.log(qs.parse(str,'^','*'));//{ name: 'lisi', age: '20' }

2、将对象转换成查询字符串

方法querystring.stringify(obj[, sep[, eq[, options]]])可以将一个对象格式化成一个url查询字符串,参数含义跟parse一样,使用如下所示:

const obj = { kw:'你好',num:1 };
const o2 = { name:['zhangsan','lisi'],age:20 };
console.log(qs.stringify(obj));//kw=%E4%BD%A0%E5%A5%BD&num=1
console.log(qs.stringify(o2));//name=zhangsan&name=lisi&age=20
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,489
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,290