1.path的用法
const path = require('path');
const fs = require('fs');
// 获取路径的最后一部分
console.log(path.basename('/foo/bar/baz/asdf/quux.html'));
// 去掉后缀
console.log(path.basename('/foo/bar/baz/asdf/quux.html', '.html'));
// 获取当前文件所在的目录
console.log(__dirname);
// 获取最后一个path所在的路径
console.log(path.dirname('/abc/qqq/www/abc11'));
// 获取扩展名称
console.log(path.extname('index.html'));
// 两个特殊属性
console.log(path.delimiter);//表示路径分隔符(windows中使用; linux中使用:)
console.log(path.sep);//环境变量分隔符(windows是\ Linux是/)
//path.join 用来拼接路径
console.log(path.join('/foo', 'bar', './baz'));
//path.resolve() 方法将路径或路径片段的序列解析为绝对路径(以最后一个参数为准)
console.log(path.resolve(__dirname)); //当前文件所在路径
console.log(path.resolve('./js/common', './test')); //当前文件路径 + \js\common\test
console.log(path.resolve('/js/common', 'test')); //F:\js\common\test
console.log(path.resolve('./js/common', '/test')); //F:\test
console.log(path.resolve('/js/common', '/test')); //F:\test
console.log(path.resolve('/js/common', '../test')); //F:\js\test
//在读写文件的时候,./的含义是相对于执行node命令所处的路径
//比如在C:/code下执行 node app.js,./相对于的就是code目录
//比如在C下执行node code/app.js,./相对于的就是C盘根目录
//path.join(__dirname,'./file/a.txt') 总是用当前文件所在目录 拼接 file/a.txt ----> 拿到的就是一个绝对路径
fs.readFile(path.join(__dirname,'./file/a.txt'), function (err, data) {
if (err) {
throw err
}
console.log(data.toString())
})
2.URL和对象的转换 - url.parse和url.format
const url = require('url');
// parse方法的作用就是把URL字符串转化为对象
let str = 'http://www.baidu.com/abc/qqq?flag=123&keyword=java';
let ret = url.parse(str,true);
console.log(ret);
// format的作用就是把对象转化为标准的URL字符串
let obj = {
protocol: 'http:',
slashes: true,
auth: null,
host: 'www.baidu.com',
port: null,
hostname: 'www.baidu.com',
hash: null,
search: '?flag=123&keyword=java',
query: 'flag=123&keyword=java',
pathname: '/abc/qqq',
path: '/abc/qqq?flag=123&keyword=java',
href: 'http://www.baidu.com/abc/qqq?flag=123&keyword=java'
};
let ret1 = url.format(obj);
console.log(ret1)
3.querystring.stringify
const querystring = require('querystring')
// parse方法的作用就是把字符串转成对象
let param = 'foo=bar&abc=xyz&abc=123';
let obj = querystring.parse(param);
console.log(obj);
// stringify的作用就是把对象转成字符串
let obj1 = {
flag : '123',
abc : ['hello','hi']
}
let str1 = querystring.stringify(obj1);
console.log(str1);
浙公网安备 33010602011771号