node中的內置模塊path、url及querystring

__dirname 當前文件的絕對路徑

console.log(__dirname)

path 模塊(解析路徑/生成路徑/拼接路徑)

  • 引入
let path = require('path');
  • 一、path.join() 方法使用平臺特定的分隔符把所有給定的 path 片斷(必須是字符串)鏈接到一塊兒,並規範化生成的路徑
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '.'));   // 返回: '/foo/bar/baz/asdf'
  • 二、path.parse() 把一個路徑解析成對象
let str = 'E:/shishans/blogsss/src/assets/a.txt';
    console.log(path.parse(str));
  • path.basename 獲取一個給定路徑的文件名(默認包含擴展名),第二個可選參數用來指定要去除的後綴名
  • path.dirname 獲取一個路徑中的目錄部分
  • 三、path.isAbsolute 判斷一個路徑是都是絕對路徑
  • 四、path.format(pathObject):返回路徑字符串 (1).若是存在dir則root忽視;(2).若是存在base則忽視name和ext
let pathObj = {
    root: '/ignored',
    dir: '/home/user/dir',
    base: 'file.txt'
}
  • 五、path.resolve() 方法會把一個路徑或路徑片斷的序列解析爲一個絕對路徑(生成的路徑是規範化後的,且末尾的斜槓會被刪除,除非路徑被解析爲根目錄。)
console.log(path.resolve('/foo/bar', '../baz'));// 返回: '/foo/bar/baz'
    console.log(path.resolve('/foo/bar', '/tmp/file/'));// 返回: '/tmp/file'

url模塊(解析地址/生成地址/拼接地址)

  • 一、url.parse(要解析的路徑 ,解析出來的query查詢字符串(false 默認)仍是查詢對象(true))
let str = 'https://baidu.com:8080/p/a/t/h?id=1&name=美女';
    let url = require('url');
    console.log(url.parse(str,true).query.id);
  • 二、url.format(url) -- 將一個URL對象轉換爲URL字符串
let urlObj = {
        protocol: "http",
        host: "127.1.1.0",
        port: "8080",
        search: "?name=張三"
    }
    console.log(url.format(urlObj));
  • 三、url.resolve() 能夠用於拼接URL
let p = url.resolve('/one/two/three', '/four') // '/one/two/four'
 let p1 = url.resolve('http://example.com/two/', '/one') // 'http://example.com/one'

querystring 參數處理小利器

  • querystring.parse(要解析的 URL 查詢字符串)
// 案例: 解析'foo=bar&abc=xyz&abc=123'
    querystring.parse('foo=bar&abc=xyz&abc=123')
    輸出
    {
      foo: 'bar',
      abc: ['xyz', '123']
    }
相關文章
相關標籤/搜索