nodejs中process.execPath和__dirname差异

文章讲述了在使用Node.js的pkg工具打包exe程序时,如何正确处理在打包和调试环境下引用外部配置文件config.json,强调了process.execPath和__dirname的区别及其在路径设置中的作用。
摘要由CSDN通过智能技术生成

在使用nodejs的pkg打包工具打包exe包的时候发现引用外部文件做配置文件时需要更改path.join的参数:

var configInfo = require(path.join(process.execPath,'../data/config.json')); //打包用
var configInfo = require(path.join(__dirname,'../data/config.json')); //调试用

process.execPath是一个用于存储当前正在执行的Node.js可执行文件的路径的字符串。它返回Node.js可执行文件的绝对路径,例如/usr/local/bin/node

__dirname是一个全局变量,它表示当前模块的目录的路径。它是相对于当前模块文件所在的路径的字符串。例如,如果__dirname的值是/Users/user/Documents/project, 则表示当前模块的所在路径。

区别在于,process.execPath存储了Node.js可执行文件的路径,而__dirname存储了当前模块的路径。process.execPath在整个Node.js进程中只有一个值,而__dirname在每个模块中都有自己的值,根据当前模块所在的不同,__dirname的值也会不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值