• 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

  • 相关阅读:
    聊一聊Flutter的setState()
    Flutter + Android 混合开发
    Flutter防止布局溢出
    Flutter获取远程数据 刷新UI界面
    Flutter日常笔记
    POJ 3299 Humidex
    POJ 1207 The 3n + 1 problem
    POJ 1005 I Think I Need a Houseboat
    POJ 1004 Financial Management
    POJ1012
  • 原文地址:https://www.cnblogs.com/Walker-lyl/p/14667516.html
Copyright © 2020-2023  润新知