在Node.js中,我怎么知道在当前操作系统中最大可能的路径长度是多少?在我知道它在Windows中是260个字符,在Linux中是4096个字节,在macOS中是1024个字节。但是有什么方法可以在Node.js中得到这个值呢?此外,当fs模块因为文件名长度超过支持的限制而无法创建文件时,错误代码说“没有这样的文件或目录”,这没有给出关于这个限制的提示。
fs
gdrx4gfi1#
在Node.js中,您可以使用path.posix.sep或path.win32.sep属性来确定当前操作系统的最大路径长度。path.posix.sep属性返回POSIX系统(包括Linux和macOS)的路径段分隔符,并设置为/。path.win32.sep属性返回Windows的路径段分隔符,并设置为。要获取当前操作系统的最大路径长度,可以使用path.posix.sep或path.win32.sep以及path.posix.sep.length或path.win32.sep.length检查路径分隔符中的字符数。关于错误消息,您可以使用fs.constants.ERR_CODE.ENAMETOOLONG来检查当您尝试创建文件时错误代码是否等于ENAMETOOLONG,这将给予您文件名长度超过支持的限制。您也可以使用fs.access方法和fs.constants.F_OK标志来检查文件是否已经存在,如果它抛出错误ENAMETOOLONG,您将知道路径太长。
path.posix.sep
path.win32.sep
path.posix.sep.length
path.win32.sep.length
fs.constants.ERR_CODE.ENAMETOOLONG
fs.access
fs.constants.F_OK
ENAMETOOLONG
1条答案
按热度按时间gdrx4gfi1#
在Node.js中,您可以使用
path.posix.sep
或path.win32.sep
属性来确定当前操作系统的最大路径长度。path.posix.sep
属性返回POSIX系统(包括Linux和macOS)的路径段分隔符,并设置为/。path.win32.sep
属性返回Windows的路径段分隔符,并设置为。要获取当前操作系统的最大路径长度,可以使用
path.posix.sep
或path.win32.sep
以及path.posix.sep.length
或path.win32.sep.length
检查路径分隔符中的字符数。关于错误消息,您可以使用
fs.constants.ERR_CODE.ENAMETOOLONG
来检查当您尝试创建文件时错误代码是否等于ENAMETOOLONG,这将给予您文件名长度超过支持的限制。您也可以使用
fs.access
方法和fs.constants.F_OK
标志来检查文件是否已经存在,如果它抛出错误ENAMETOOLONG
,您将知道路径太长。