zoukankan      html  css  js  c++  java
  • path.join和path.resovle区别

    对于以/开始的路径片段,path.join只是简单的将该路径片段进行拼接

    而path.resolve将以/开始的路径片段作为根目录,在此之前的路径将会被丢弃,最终返回的是一个绝对路径

     __dirname:返回当前文件所在文件夹的绝对路径

    进行webpack配置时,一般使用path.join配合__dirname

    path.join   方法使用平台特定的分隔符[Unix系统是/,Windows系统是 ]把全部给定的 path 片段连接到一起,并规范化生成的路径。若任意一个路径片段类型错误,会报错

    __dirname
    // __dirname返回当前文件所在的绝对路径
    const path = require('path');
    
    const path1 = path.join(__dirname, '/foo');
    const path2 = path.join(__dirname, './foo/bar');
    const path3 = path.join('/foo', 'bar', '/baz/apple', 'aaa', '..');
    const path4 = path.join('foo', 'bar', 'baz');
    
    
    console.log(path1);
    console.log(path2);
    console.log(path3);
    console.log(path4);
    
    // 输出结果
    /Users/xiao/work/test/foo
    /Users/xiao/work/test/foo/bar
    /foo/bar/baz/apple
    foo/bar/baz

    path.resolve   方法会把一个路径或路径片段的序列解析为一个绝对路径

    const path = require('path');
    
    const path1 = path.resolve('/a/b', '/c/d');
    // 结果: /c/d
    const path2 = path.resolve('/a/b', 'c/d');
    // 输出: /a/b/c/d
    const path3 = path.resolve('/a/b', '../c/d');
    // 输出: /a/c/d
    const path4 = path.resolve('a', 'b');
    // 输出: /Users/xiao/work/test/a/b

    参考:

    https://juejin.cn/post/6844903861920989198

    -----smile

  • 相关阅读:
    1509 -- Glass Beads POJ
    1043: [HAOI2008]下落的圆盘
    面向对象的特性一:封装性
    java的值传递机制
    可变参数的形参方法
    方法的重载
    类及对象
    面向对象
    数组的常用算法问题
    数组的常见异常
  • 原文地址:https://www.cnblogs.com/Walker-lyl/p/14667516.html
Copyright © 2011-2022 走看看