ノートnodejs:path.resove()とpath.jin()の違い

1760 ワード

ノートnodejs:path.resove()とpath.jin()の違い
一、path.join(path 1、path 2、path 3…)
役割:経路セグメントを特定のセパレータ(window:\)で接続して経路を形成し、生成された経路を規範化する.いずれかのパスのフラグメントタイプが間違っているとエラーが発生します.ジョイン()は各パスをつなぎ合わせるだけで、レスリング()のように各フィールドをつなぎ合わせるだけでなく、作業ディレクトリのパスをつなぎ合わせました.
const path = require('path');
let myPath = path.join(__dirname,'/img/so');
let myPath2 = path.join(__dirname,'./img/so');
let myPath3=path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');

console.log(__dirname);           
console.log(myPath);    
console.log(myPath2);   
console.log(myPath3);  

E:\test
E:\test\img\so
E:\test\img\so
\foo\bar\baz\asdf

二、path.resove([from…],to)
作用:1つのパスまたはパスフラグメントのシーケンスを絶対パスに解析します.与えられたパスシーケンスは、絶対パスを構築するまで右から左に処理される.与えられたすべてのパスを処理した後に絶対パスが生成されていない場合は、現在の作業ディレクトリを追加します.
/       。

let myPath = path.resolve(__dirname,'/img/so');
         
let myPath2 = path.resolve(__dirname,'./img/so');
   
let myPath3=path.resolve('/foo/bar', './baz');   
let myPath4=path.resolve('/foo/bar', '/tmp/file/');
          
console.log(__dirname);     
console.log(myPath);    
console.log(myPath2);   
console.log(myPath3);  
console.log(myPath4); 

E:\test
E:\img\so
E:\test\img\so
E:\foo\bar\baz           
E:\tmp\file

三、例
1、join    path       , resolve ‘/’     

path.join('/a', '/b');//    '/a/b'
path.resolve('/a', '/b'); //    '/b'

2、join      ,resolve       

path.join("a", "b1", "..", "b2");//  "a/b2"
path.resolve("a", "b1", "..", "b2"); // "/home/myself/node/a/b2";