node中的内置模块path及url

26次阅读

共计 1284 个字符,预计需要花费 4 分钟才能阅读完成。

__dirname 当前文件的绝对路径

    console.log(__dirname)

path 模块(解析路径 / 生成路径 / 拼接路径)

  • 引入
let path = require('path');
  • 1、path.join() 方法使用平台特定的分隔符把全部给定的 path 片段(必须是字符串)连接到一起,并规范化生成的路径
    console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '.'));   // 返回: '/foo/bar/baz/asdf'
  • 2、path.parse() 把一个路径解析成对象
    let str = 'E:/shishans/blogsss/src/assets/a.txt';
    console.log(path.parse(str));
  • path.basename 获取一个给定路径的文件名(默认包含扩展名),第二个可选参数用来指定要去除的后缀名
  • path.dirname 获取一个路径中的目录部分
  • 3、path.isAbsolute 判断一个路径是都是绝对路径
  • 4、path.format(pathObject): 返回路径字符串(1). 如果存在 dir 则 root 忽视;(2). 如果存在 base 则忽视 name 和 ext
let pathObj = {
    root: '/ignored',
    dir: '/home/user/dir',
    base: 'file.txt'
}
  • 5、path.resolve() 方法会把一个路径或路径片段的序列解析为一个绝对路径(生成的路径是规范化后的,且末尾的斜杠会被删除,除非路径被解析为根目录。)
    console.log(path.resolve('/foo/bar', '../baz'));// 返回: '/foo/bar/baz'
    console.log(path.resolve('/foo/bar', '/tmp/file/'));// 返回: '/tmp/file'

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

  • 1、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);
  • 2、url.format(url) — 将一个 URL 对象转换为 URL 字符串
    let urlObj = {
        protocol: "http",
        host: "127.1.1.0",
        port: "8080",
        search: "?name= 张三"
    }
    console.log(url.format(urlObj));
  • 3、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'

正文完
 0