node 的path模塊中 path.resolve()和path.join()的區別


一、path模塊的引入。

直接引用。node中自帶的模塊

const path = require('path');

 

二、path.join(path1,path2,path3.......)

  作用:將路徑片段使用特定的分隔符(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);

 

 

三、path.resolve([from...],to)

作用:把一個路徑或路徑片段的序列解析為一個絕對路徑。相當於執行cd操作。

/被解析為根目錄。

     

 
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);

 

 

 

 

總結: 

join()與resolve()的作用都是用來拼接路徑的,主要的區別是join方法生成的相對路徑,resolve方法生成的是絕對路徑

   

 
const path=require("path")
 
console.log(path.join('./a','./b')); //a\b
 
console.log(path.resolve('./a','./b')); //C:\Users\19144\Desktop\09day\09day\abc\a\b

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM