zoukankan      html  css  js  c++  java
  • Nodejs中,path.join()和path.resolve()的区别

    • 在说path.join()path.resolve()的区别之前,我先说下文件路径/ ./../之间的区别

      • /代表的是根目录;

      • ./代表的是当前目录;

      • ../代表的是父级目录。

    然后再来说下path.join()path.resolve()的区别

    我们需要注意的是,这两个方法都属于path模块,在使用之前我们需要先引入模块

    const path = require('path');
    

    进入正文:

    path.resolve()

    • 方法作用
      • path.resolve方法把传入的路径或者路径段解析为绝对路径。
    • 语法:
    path.resolve([from ...], to)
    
    • 说明:
      • 如果没有传入 path 片段,或者path 片段长度为零(空字符),则path.resolve()会返回当前工作目录的绝对路径(相当于使用path.resolve(__dirname))
    • 借用一下别人的代码,我们来看下一个很经典的例子,假设当前的工作路径为/workspace/demo
    console.log(path.resolve())      // returns /workspace/demo
    console.log(path.resolve(''))     // returns /workspace/demo
    console.log(path.resolve(__dirname)) // returns /workspace/demo
    console.log(path.resolve('/img/books', '/net'))  // returns '/net'
    console.log(path.resolve('img/books', '/net'))  // returns '/net'
    console.log(path.resolve('img/books', './net'))  // returns '/workspace/demo/img/books/net'
    console.log(path.resolve('/img/books', './net'))  // returns '/img/books/net'
    console.log(path.resolve('/img/books', 'net'))   // returns '/img/books/net'
    console.log(path.resolve('/img/books', '../net'))     // returns '/img/net'
    console.log(path.resolve('src','/img/books', '../net'))  // returns '/img/net'
    console.log(path.resolve('src','./img/books', '../net'))  // returns '/workspace/demo/src/img/net'
    console.log(path.resolve('src','img/books', '../net'))   // returns '/workspace/demo/src/img/net'
    
    • 说明:我们在文章开头所说的./..//的区别就派上用场了,从右到左,我们可以看到,如果路径以/开头,就不会再拼接左边的路径了,因为已经是根目录了,如果是以./开头或者没有符号,就会拼接左边的路径,如果是以 ../开头的,就拼接左边路径的父路径。

    path.join()

    • 方法作用:
      • path.join()方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。
    • 语法:
    path.join([path1], [path2], [...])
    
    • 说明:
      • 长度为零的 path 片段会被忽略。 如果连接后的路径字符串是一个长度为零的字符串,则返回 .,表示当前工作目录
    • 借用一下别人的代码,我们来看下一个很经典的例子
    path.join('/img', 'book', 'net/abc', 'inter', '..'); // returns /img/book/net/abc
    console.log(path.join('/img/books', '../net'))  // returns /img/net
    console.log(path.join('img/books', '../net'))   // returns img/net
    console.log(path.join('/img/books', './net'))   // returns /img/books/net
    console.log(path.join('img/books', './net'))   // returns img/books/net
    console.log(path.join('/img/books', 'net'))    // returns /img/books/net
    console.log(path.join('img/books', 'net'))    // returns /img/books/net
    console.log(path.join('/img/books', '/net'))   // returns /img/books/net
    console.log(path.join('img/books', '/net'))    // returns img/books/net
    
    今天你学习了吗!!!
  • 相关阅读:
    docker~save与load的使用
    docker~从Dockerfile到Container的过程(终于算是OK了)
    docker~使用阿里加速器
    Draw2d中的布局管理器Layout比较
    利用glibc中锁结构的信息解决死锁问题
    android 利用重力感应监听 来电时翻转手机后静音。
    hdu 1754 I Hate It
    九度笔记之 1209最小邮票数
    java zip工具类
    基于XMPP实现的Openfire的配置安装+Android客户端的实现
  • 原文地址:https://www.cnblogs.com/nayek/p/12165359.html
Copyright © 2011-2022 走看看