__dirname,path.join() 和 path.resolve()

Node.js 中,要是涉及到与路径有关的问题,经常使用的关键词有 __dirname 和两种方法 path.join(), path.resolve()。下面来看看三者的区别和使用场景。

__dirname 返回的就是当前目录的完成绝对路径,比如在 G:\workdplace\20170510 目录下,有一个 app.js 文件,文件中的语句为 console.log(__dirname); 这个时候返回的结果就是 G:\workdplace\20170510

path.join() 是连接路径的方法,一般在生成相对路径时会使用这个方法,比如说对于 console.log('/home', 'index.html'); 这条语句会返回 \home\index.html,可见这个方法会根据当前系统的分隔符将传入的参数组成一个可用的路径。

path.resolve() 会将一个相对路径转换成绝对路径,比如说对于 console.log(path.resolve('app.html')); 返回的结果为 G:\workdplace\20170510\app.html,可见其默认加上了当前目录的绝对路径。所以这条语句的结果相当于 console.log(path.join(__dirname, 'app.html'));

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注