在 Node.js 中,__dirname
和 __filename
是两个全局变量,它们提供了关于当前执行脚本的目录和文件名的信息。这两个变量在 Node.js 应用程序中特别有用,尤其是当你需要处理文件路径或构建相对路径时。
-
__dirname
:__dirname
返回当前执行脚本所在的目录的绝对路径。这是一个字符串。- 举个例子,如果你有一个名为
app.js
的文件,它位于/Users/yourname/projects/myapp/
目录下,当你在这个文件中访问__dirname
时,它会返回/Users/yourname/projects/myapp
(取决于你的操作系统,路径分隔符可能有所不同)。 - 使用场景:当你需要读取或写入与当前脚本位于同一目录或子目录中的文件时,
__dirname
非常有用。例如,你可以使用它来构建文件路径,如__dirname + '/config.json'
。
-
__filename
:__filename
返回当前执行脚本的绝对路径(包括文件名)。这也是一个字符串。- 使用上面的例子,如果你在
app.js
文件中访问__filename
,它会返回/Users/yourname/projects/myapp/app.js
。 - 使用场景:有时你可能需要知道当前脚本的完整路径,尤其是在处理模块导入、日志记录或调试时。
注意:虽然你可以直接使用字符串拼接来构建路径(如 __dirname + '/somefile.txt'
),但建议使用 Node.js 的 path
模块来更可靠地处理路径,因为它能自动处理不同操作系统中的路径差异。例如:
const path = require('path');
const filePath = path.join(__dirname, 'somefile.txt');
在前端开发中,如果你使用 Node.js 作为构建工具或服务器(如通过 Webpack、Express.js 等),这些变量可以帮助你定位和处理项目中的文件。然而,请注意,这些变量在纯客户端 JavaScript(在浏览器中运行的代码)中是不可用的。
标签:__,nodejs,路径,js,filename,path,解译,dirname From: https://www.cnblogs.com/ai888/p/18649145