node中的__filename和__dirname的使用详解

 更新时间:2023年03月23日 10:01:25   作者:大飞飞鱼  
本文主要介绍了node中的__filename和__dirname的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在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 ,结果如下:

到此这篇关于node中的__filename和__dirname的使用详解的文章就介绍到这了,更多相关node __filename和__dirname内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • node.js操作mongoDB数据库示例分享

    node.js操作mongoDB数据库示例分享

    这里给大家分享的是node.js操作mongoDB数据库的示例,包括连接数据库、插入数据、关闭数据库、读取数据、插入数据等方面,十分的全面,这里推荐给需要的小伙伴们。
    2014-11-11
  • node.js路径处理方法以及绝对路径详解

    node.js路径处理方法以及绝对路径详解

    这篇文章介绍的是nodejs路径处理及绝对路径以及一个Node.js获取项目根目录的小技巧,这个内容非常实用。有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-09-09
  • mocha的时序规则讲解

    mocha的时序规则讲解

    今天小编就为大家分享一篇关于mocha的时序规则讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • node NPM库string-random生成随机字符串学习使用

    node NPM库string-random生成随机字符串学习使用

    这篇文章主要为大家介绍了node NPM库string-random生成随机字符串学习使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Mac node删除以及重新安装案例详解

    Mac node删除以及重新安装案例详解

    这篇文章主要介绍了Mac node删除以及重新安装案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 在nodejs中创建child process的方法

    在nodejs中创建child process的方法

    这篇文章主要介绍了在nodejs中创建child process的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • nodejs使用PassThrough流进行数据传递合并示例详解

    nodejs使用PassThrough流进行数据传递合并示例详解

    这篇文章主要为大家介绍了nodejs使用PassThrough流进行数据传递合并示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • node.js实现爬虫教程

    node.js实现爬虫教程

    这篇文章主要为大家介绍了node.js基础模块http、网页分析工具cherrio实现爬虫的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Nodejs实现多人同时在线移动鼠标的小游戏分享

    Nodejs实现多人同时在线移动鼠标的小游戏分享

    这篇文章主要介绍了Nodejs实现多人同时在线移动鼠标的小游戏分享,本文给出了服务器端和客户端代码以及运行方法,需要的朋友可以参考下
    2014-12-12
  • Thinkjs3新手入门之如何使用静态资源目录

    Thinkjs3新手入门之如何使用静态资源目录

    最近在学习thinkjs3,发现有些地方还是有必要整理下的,下面这篇文章主要给大家介绍了关于Thinkjs3新手入门之如何使用静态资源目录的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12

最新评论