Node.js 是否可以在节点中使用计算机路径?

Node.js 是否可以在节点中使用计算机路径?,node.js,Node.js,通常情况下,在节点1中,将使用类似于以下内容的路径: ../js/hereIsMyJs.js 但是,以mac为例(pc不同) 路径可以是~/Desktop/Ohms/js/hereIsMyJs.js 是否有任何模块或方法可以使用我刚才在node中介绍的计算机路径? 我正在使用一个模块,它需要文件应该放置的路径。 它必须是动态工作的,所以对我来说,最佳解决方案就是通过“计算机”路径输入它 要实现您想要的,使用节点的本机path.resolve是正常的 其他值得一提的事情: 波浪号字符~是*ni

通常情况下,在节点1中,将使用类似于以下内容的路径:

../js/hereIsMyJs.js
但是,以mac为例(pc不同) 路径可以是
~/Desktop/Ohms/js/hereIsMyJs.js

是否有任何模块或方法可以使用我刚才在node中介绍的计算机路径? 我正在使用一个模块,它需要文件应该放置的路径。 它必须是动态工作的,所以对我来说,最佳解决方案就是通过“计算机”路径输入它


要实现您想要的,使用节点的本机path.resolve是正常的

其他值得一提的事情:
  • 波浪号字符
    ~
    是*nix世界中主目录的缩写。而且在大多数地方都有效,而不是在窗户上

  • 在节点中,您可以使用
    require('os').homedir()
    获取主目录

  • 还有
    \uuu dirname
    (给出包含当前执行文件的目录的绝对路径)和
    process.cwd()
    ,其中给出了执行文件的目录

  • 最后还有
    path.join()
    ,它类似于resolve,但用于连接相对路径,不关心当前目录

const fileName = '~/Desktop/Ohms/somewhere/here.jpg'
QRCode.toFile(fileName, 'https://example.com')
// Start from current directory, and gives absolute path valid to the current OS.
console.log( path.resolve("../js/hereIsMyJs.js") );  // ie: C:\\projects\\js\\hereIsMyJs.js

// It also accepts multiple arguments, so you can feed it partial paths
path.resolve( "..", "js" ,"hereIsMyJs.js" ); // same result as above.