繁体   English   中英

带有 windows 路径的 path.dirname() 只返回一个点

[英]path.dirname() with windows path returns just a dot

我正在 electron JS 中构建一个 Vue JS 应用程序。 在 Unix 操作系统上,它工作得很好,但在 Windows 上,我面临的问题是path.dirname()总是只返回一个点. .

所以:

path.dirname("C:\Users\zourn\Dropbox\Lindwurm\modsort\TCGA-DU-7294\la_t1c.nii.gz")

返回: .

让它更奇怪:

      var os = require("os");

      console.log(os.type()); // clearly shows a windows operating system

然而:

console.log(path.sep)

输出: /而不是预期的\ 因此,返回的. 应该有点期待。

那里发生了什么? 我正在使用节点 v14 LTS。

目前我非常丑陋的解决方案是:

var definitelyPosix = srcFile.split("\\").join("/");
path.dirname(definitelyPosix)

但必须有更好的方法吗?

听起来path确实由于某种原因错误地识别了平台,但如果这是唯一的问题,您可以使用path.win32.dirname()强制它。

(假设您在第一个示例中缺少转义斜线只是偶然或出于说明目的)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM