Path
var path = require('path');
path.basename() 返回String
var c1='/dbc/ef/node/a.txt';
var r1 = path.basename(c1);
console.log(r1);
var r2= path.basename(c1, '.txt');
console.log(r2);
path.delimiter 分割符
console.log(process.env.PATH.split(path.delimiter));
/*输出系统环境变量如:['C:\\windows\\system32','D:\\program\\Git\\cmd',...]*/
path.parse() 返回一个object对象
var c = './testfile/a.html';
var obj = path.parse(c);
console.log(obj);
console.log(obj.base);// a.html
/*
输出的obj对象:{ root: '',
dir: './testfile',
base: 'a.html',
ext: '.html',
name: 'a' }
*/
path.relative(from ,to) 返回String
var a = './testfile/web/css.css';
var b = './testfile';
var result = path.relative(a,b);
var result2 = path.relative(b,a);
console.log('a relative b:' +result);
console.log('b relative a:' +result2);
path.dirname(path) 目录名 返回String
var c3='./testfile/a.thml';
console.log( path.dirname(c3));
path.extname(path) 后缀名 返回String
var c4='./testfile/a.html';
console.log(path.extname(c4));
console.log( path.format({
dir:"ad",
root:'/',
name:"exg",
ext:".txt"
}));
path.isAbsolute(path) 返回boolean
console.log(path.isAbsolute('e:/Learn_Nodejs'));
console.log(path.isAbsolute('/ab/e'));
console.log(path.isAbsolute('/ab/a.txt'));
console.log(path.isAbsolute('./ab/a.txt'));
console.log(path.isAbsolute('../ab/a.txt'));
path.join(‘path1’,’path2’,…) 拼接 返回String
console.log( path.join('/a','a2','a3/e'));
path.resolve(‘path1’,’path2’,…) 返回String
console.log( path.resolve('./testfile','web'));
console.log(path.resolve('a.html'));
console.log(path.resolve('a.html','../web'));
url
const url = require('url');
url.parse(url) 把路径解析为一个url对象,返回值object
var h='http://czx:123@abc.com:8000/node/test/a?k1=v1&k2=v2#chapter01';
var uc=url.parse(h);
console.log(uc.href); // 输出即 h
console.log(uc.protocol); // http:
console.log(uc.auth); // czx:123
console.log(uc.host); // abc.com:8000
console.log(uc.hostname); // abc.com
console.log(uc.port); // 8000
console.log(uc.path); // /node/test/a?k1=v1&k2=v2
console.log(uc.pathname); // /node/test/a
console.log(uc.search); // ?k1=v1&k2=v2
console.log(uc.query); // k1=v1&k2=v2
console.log(uc.hash); //
console.log( url.format(uc) ); //拿的上面例子的uc测试
// http://czx:123@abc.com:8000/node/test/a?k1=v1&k2=v2
url.resolve(from, to) 相对路径 慢慢理解吧 (╯□╰)…
console.log(url.resolve('/a1/a2','b2'));
console.log(url.resolve('/a1/a2','../b2'));
console.log(url.resolve('/a1/a2/a3','/b2'));
console.log(url.resolve('/a1/a2/a3','./b2'));
console.log(url.resolve('/a1/a2/a3','../b2'));
console.log(url.resolve('http://www.baidu.com','/one'));
console.log(url.resolve('http://www.baidu.com','two'));
console.log(url.resolve('http://www.baidu.com/a1/a2','two'));
console.log(url.resolve('http://www.baidu.com/a1/a2','../two'));
console.log(url.resolve('http://www.baidu.com/a1/a2','/two'));
Query String
const qs = require('querystring');
qs.parse(str[, sep[, eq[, options]]])
var str = 'k1=v1&k2=v2&k3=v3&k3=v4';
console.log( qs.parse(str));
console.log(qs.parse(str).k1);
console.log(qs.parse(str).k3[1]);
qs.stringify(obj[, sep[, eq[, options]]])
var strObj={
k1:'v1',
k2:'v2',
age:18,
book:['book1', 'book2']
};
console.log( qs.stringify(strObj) );