[javascript]__dirname和__filename两种获取路径的方式

一、介绍

__dirname:获取当前文件的所属文件夹绝对路径

__filename:获取当前文件的绝对路径

二、实例

function init() {
    console.log("init")
    console.log(__dirname)
    console.log(__filename)
}
init()

结果

C:\Program Files\nodejs\node.exe ..\..\test.js
init
D:\work\svn
D:\work\svn\test.js

三、进一步研究

3.1类型


function init() {
    console.log("init")
    console.log(__dirname)
    console.log(typeof __dirname)
    console.log(__filename)
    console.log(typeof __filename)
}
init()

结果

C:\Program Files\nodejs\node.exe ..\..\test.js
init
D:\work\svn
string
D:\work\svn\test.js
string

显示__dirname和__filename为字符串类型,因此可以使用所有字符串相关函数进行处理。

3.2获取当前文件名

function getFileName() {
  var fileName = __filename.replace(__dirname, "");
  fileName = fileName.replace("\\", "");
  return fileName;
}
console.log(getFileName());

结果

C:\Program Files\nodejs\node.exe ..\..\test.js
test.js

由此可见,可以将__dirname、__filename直接视为string对象操作。注意,在js中,单个的反斜杠意味着转义,因此在此函数中需使用两个反斜杠表示将后一个反斜杠转义为字符。

四、总结

此举可用于模板化文件的批量注册中,或是依据路径进行文件查找操作。

你可能感兴趣的:(javascript,开发语言,文件路径,__dirname,__filename)