nodejs中的__filename和__dirname的使用说明

2023-05-16

在node.js开发中,有时候需要获取一些环境变量,其中__filename和__dirname 是两个有用的环境变量。__dirname 获取的是调用__dirname的脚本文件本身的绝对路径,不是启动脚本文件的绝对路径。

变量名称

意义

__filename

获取当前模块文件的带有完整绝对路径的文件名

__dirname

获得当前文件所在目录的完整绝对目录名,等同于path.dirname(__filename)

验证测试:

1、新建一个目录G:\Testroom\nodeDirTest,在这个目录下编辑一个代码文件 index.js 如下:

const path = require("path");
const { getConfig } = require("./utils/utils");

console.log(__dirname); 
console.log(__filename); 
console.log(path.dirname(__filename)); 

console.log("getConfig:", getConfig());

2、再在 G:\Testroom\nodeDirTest 新建一个目录utils ,并在这个目录下编辑一个代码文件 utils.js 内容如下:

const path = require("path");

console.log(__dirname); 
console.log(__filename); 
console.log(path.dirname(__filename)); 

function getConfig(path) {
    return __dirname;
}

module.exports.getConfig = getConfig;

3、打开cmd命令行,进入 G:\Testroom\nodeDirTest 目录,执行 node index.js ,结果如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nodejs中的__filename和__dirname的使用说明 的相关文章

随机推荐

  • jenkins 结合ssh 实现多服务器部署jar包

    jenkins使用手册 简介 官网介绍 xff1a Jenkins是开源的CI CD xff08 持续集成 持续交付 xff09 软件领导者 有如下几个优点 xff1a 简单安装配置简单丰富的插件 超过1000个插件扩展性分布式 一 软件下
  • feign调用初始化问题

    最近使用spring cloud微服务遇到一个问题 xff0c 微服务之间使feign第一次调用时会非常的耗时 xff0c 一个请求如果调用链长的情况下 xff0c 接口返回可能会达到10s以上 xff0c 这是一个正常系统都不能容忍的 基
  • VScode 无法下载Go工具解决方案

    使用七牛云代理下载所需要的工具依赖 xff0c 具体配置请查看 说明 https goproxy cn
  • Sonar代码质量管理服务搭建并导入java项目

    1 软件下载 7 4 2 软件配置 打开解压后文件conf sonar properties mysql版本必须大于5 6小于8 0 MySQL gt 61 5 6 amp amp lt 8 0 sonar jdbc url 61 mysq
  • java join方法实现线程的串行

    java实现多线程之间串行执行 xff0c 网上也有很多的教程 在这里我主要说的是 xff1a java Thread类的join函数 xff0c 先贴代码吧 xff1a package cn com fhz thread Created
  • Windows上Rust所依赖的msvc到底怎么装?

    在Windows上面安装Rust的开发环境 xff0c 看起来颇具挑战性 我们会被告知需要安装一个名叫Microsoft Visual Studio C 43 43 build tools的编译工具 xff0c 并被给到一个官方链接 然而
  • Word 转 Markdown

    1 Pandoc 工具将 Word 文档转为 Markdown 可以借助 Pandoc 工具将 Word 文档转为 Markdown xff0c 例如 xff0c 此处将 README docx 转成 README md xff0c 命令如
  • c语言现代方法 chapter20自学笔记

    如果编写程序需要用到数据在内存中如何存储 xff0c 那么除非必要 xff0c 否则不用 xff0c 如果用 xff0c 那么集中在程序中的某个模块 xff0c 不要分散在各处 20 1 移位运算符 c语言提供了6个位运算符 这些运算符可以
  • 查看python源码之jieba安装

    Python 2 x 下的安装 全自动安装 xff1a easy install jieba 或者 pip install jieba 半自动安装 xff1a 先下载http pypi python org pypi jieba xff0c
  • 在Ubuntu Linux上搭建go语言环境

    一 安装VMware Tools 1 在刚装好的ubuntu linux上 xff0c 如果没有安装VMware Tools xff0c 那么我们就要先安装它 打开我们的ubuntu linux xff0c 然后点击左上角的虚拟机 xff0
  • Linux nohup实现后台运行程序及查看(nohup与&)

    1 后台执行 一般运行linux上的程序都是执行 sh 文件 xff08 sh文件 xff09 xff0c 那如果不影响当前CMD窗口的操作 xff0c 需要后台运行怎么办呢 xff1f 这时就需要借助 nohup 和 amp 命令来实现
  • CA 认证过程及 https 实现方法

    CA 认证过程 CA 概述 xff1a Certificate Authority 的缩写 xff0c 通常翻译成认证权威或者认证中心 xff0c 主要用途是为用户发放数字证书 CA 认证的流程和公安局派出所颁发身份证的流程一样 认证中心
  • C++代码详解:string的赋值与C风格字符串转换

    C 43 43 代码详解 string的赋值与C风格字符串转换 61 61 61 61 61 string简介 61 61 61 61 61 string是C 43 43 里默认的字符串容器 xff0c 用于代替C风格的字符串指针与字符串数
  • nginx 基本配置

    一篇比较好的参考文 https www digitalocean com community tutorials how to install nginx on ubuntu 18 04 1 在 Ubuntu 上安装 Nginx sudo
  • 解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug

    在说这个问题之前 必须先解释一下 我们在引入工程的时候 xcode会给我们3个选项 1 Copy items if needed 主要是说明 xff0c 是否要将文件拷贝到工程所在目录 如果不选中 xff0c 而且该库文件不在工程目录下 x
  • GitLab+Jenkins集群+docker CICD集成

    前言 最近部门进行CICD架构升级将引入k8s编排docker容器 借此机会梳理下目前应用部署发布方式 当前架构是我刚到公司时基于gitlab 43 jenkins 43 docker 43 nexus搭建 引入K8S后将调整pod yam
  • 10个轻松上手制作的Arduino项目

    创建Arduino项目可以给您带来很大的满足感 xff0c 但很多时候初学者不知道从哪里开始 启动创建项目时需要考虑很多事情 xff0c 如果您没有制作的经验 xff0c 那可能会令人困惑 正是因为这个原因 xff0c 我们为初学者收集到1
  • 7个基于Arduino的神奇项目!

    创客人数的规模正在增加 xff0c 从当地的超市到大城市繁忙的办公室 xff0c 到处都可以找到他们 xff0c 这些地方可能会有一个或两个创客 xff0c 或许更多 xff0c 在制定他们的下一个设计 xff0c 或者可能渴望找到一个前现
  • 用if语句如何检测一个变量是否存在。

    例如我们用if语句检测一下num这个变量是否存在 若我们直接写 xff1a var night 61 34 34 if num night 61 34 yes 34 console log night 注意 xff01 xff01 1 如果
  • nodejs中的__filename和__dirname的使用说明

    在node js开发中 xff0c 有时候需要获取一些环境变量 xff0c 其中 filename和 dirname 是两个有用的环境变量 dirname 获取的是调用 dirname的脚本文件本身的绝对路径 xff0c 不是启动脚本文件的