path、url和querystring
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);
 
 
 
 
 
 
 
 
 
 
 
 
 
posted on 2020-12-23 20:27  宁慧前端点滴  阅读(154)  评论(0)    收藏  举报