__filename与__dirname

2024-04-22 16:52
文章标签 dirname filename

本文主要是介绍__filename与__dirname,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

__dirname 是 Node.js 中的一个内置全局变量,它代表的是当前正在执行的 JavaScript 文件所在的绝对目录路径。这个变量在 Node.js 应用程序中非常有用,因为它可以帮助开发者定位到相对于当前文件的其他文件或目录的位置。

例如,在一个 Node.js 模块中,你可以这样使用 __dirname

// 假设你在 /home/user/project/app.js 文件中运行这段代码
console.log(__dirname);// 输出将是:'/home/user/project'

这在你需要加载或操作与当前模块同级或下级目录中的文件时特别有用,例如:

const path = require('path');
const filePath = path.join(__dirname, 'config', 'settings.json');

在这个例子中,filePath 将会是 /home/user/project/config/settings.json,这就是通过 __dirname 获取当前目录并拼接出一个绝对路径的实际应用。

在 Node.js 中,如果你想要获取当前正在执行的 JavaScript 文件的完整路径(包括文件名),可以结合使用 __filenamepath 模块来实现。__filename 是另一个内置全局变量,它表示当前正在执行的 JavaScript 文件的绝对路径。

例如:

const path = require('path');console.log(__filename); // 输出当前文件的完整路径(包括文件名)// 如果你想获取仅包含文件名的部分,可以使用 path.basename()
console.log(path.basename(__filename)); // 输出当前文件名// 若要获取当前文件所在的目录路径,可以使用 path.dirname()
console.log(path.dirname(__filename)); // 输出当前文件所在目录的路径(不包括文件名)

这样,如果你想获取当前文件本身的路径信息,可以通过 __filename 得到。

假设你有一个名为 index.js 的 Node.js 文件,该文件位于 /Users/username/projects/my-app/src/index.js 目录下,你可以在该文件中使用 __filenamepath 模块获取当前文件的相关路径信息:

// 引入 Node.js 的 path 模块
const path = require('path');// 输出当前文件的完整绝对路径
console.log(__filename);
// 输出: '/Users/username/projects/my-app/src/index.js'// 输出当前文件的文件名(不含路径)
console.log(path.basename(__filename));
// 输出: 'index.js'// 输出当前文件所在的目录路径
console.log(path.dirname(__filename));
// 输出: '/Users/username/projects/my-app/src'

这样,你就能够清楚地了解到当前执行脚本的具体位置及其所在目录。

这篇关于__filename与__dirname的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926330

相关文章

linux shell dirname $0是什么意思

获得当前shell脚本的绝对路径 #!/bin/bashSHELL_FOLDER=$(cd $(dirname $0);pwd)echo ${SHELL_FOLDER}   https://blog.csdn.net/jackyechina/article/details/52813007

$(dirname $0)

查看公司的java部署脚本,发现第一行使用了$(dirname $0)这个写法,由于不是很了解这个写法的作用,于是百度下用法。 作用 在linux中,dirname命令可以返回文件所在的目录。$0 表示当前动行的命令名。 因此此写法的作用为: 切换到 脚本 所在的目录 在shel脚本中,$的作用有很多,下面是网上抄录的一些功能 命令替换 在bash中,$( )与(反引号)都是用来作命令

git学习(三) windows下git clone报错Filename too long

在git bash中,运行命令: git config --global core.longpaths true 上一篇 Git命令行将代码push到远程新建的git仓库

linux系统中,pwd获取当前路径,dirname获取上一层路径;不使用 ../获取上一层路径

在实际项目中,我们通常可以使用 pwd 来获取当前路径,但是如果需要获取上一层路径,有不想使用 …/ 的方式,可以尝试使用 dirname指令 测试shell脚本 #!/bin/bash# 获取当前路径CURRENT_PATH=$PWDecho "CURRENT_PATH=$CURRENT_PATH"# 获取上一层路径TOP_PATH=$(dirname $CURRENT_PATH)e

如何理解shell命令 cd $(dirname $0)

理解命令 cd $(dirname $0) 需要逐步拆解和分析每个部分的功能: $0: 在shell脚本中,$0 代表脚本的名称。这个变量包含了脚本的完整路径或相对路径。 dirname $0: dirname 是一个命令,用于去掉路径中的文件名部分,返回目录名。所以 dirname $0 会返回脚本所在的目录。 $(dirname $0): $(...) 是命令替换的语法。它会执行括号内

dirname(__FILE__) 的使用总结

dirname(__FILE__)  php中定义了一个很有用的常数,即 __file__ 这个内定常数是当前php程序的就是完整路径(路径+文件名)。 即使这个文件被其他文件引用(include或require),__file__始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。 请看下面例子: /home/data/demo/test/a.php <?php $the_fu

【cmake】——get_filename_component/add_library(ncnn SHARED IMPORTED)

cmake 1. add_library(ncnn SHARED IMPORTED) 最简单的方法是添加 include_directories(${CMAKE_SOURCE_DIR}/inc)link_directories(${CMAKE_SOURCE_DIR}/lib)add_executable(foo ${FOO_SRCS})target_link_libraries(f

头文件——#include filename.h与#include filename.h区别

#include <filename.h>,编译系统会到环境指定的目录去引用。#include "filename.h",系统一般首先在当前目录查找,然后再去环境指定目录查找。

修改了环境变量~/.bashrc后 报错 命令 “dirname” 可在以下位置找到 * /bin/dirname * /usr/bin/dirname

问题如下: 修改了~/.bashrc后加入了环境变量之后报错,如下所示 (base) jie@dell:~/桌面$ source ~/.bashrc  命令 “dirname” 可在以下位置找到  * /bin/dirname  * /usr/bin/dirname 由于 /usr/bin:/bin 不在 PATH 环境变量中,故无法找到该命令。 dirname:未找到命令 命令 “lessp

basename和dirname的使用

[dirname] 手册页“Print  NAME  with  its  trailing  /component  removed; if NAME contains no /’s, output ‘.’ (meaning the current directory).”该命令可以取给定路径的目录部分(strip non-directory suffix from file name)。这个