Node.js 是否可以在节点中使用计算机路径?
通常情况下,在节点1中,将使用类似于以下内容的路径:Node.js 是否可以在节点中使用计算机路径?,node.js,Node.js,通常情况下,在节点1中,将使用类似于以下内容的路径: ../js/hereIsMyJs.js 但是,以mac为例(pc不同) 路径可以是~/Desktop/Ohms/js/hereIsMyJs.js 是否有任何模块或方法可以使用我刚才在node中介绍的计算机路径? 我正在使用一个模块,它需要文件应该放置的路径。 它必须是动态工作的,所以对我来说,最佳解决方案就是通过“计算机”路径输入它 要实现您想要的,使用节点的本机path.resolve是正常的 其他值得一提的事情: 波浪号字符~是*ni
../js/hereIsMyJs.js
但是,以mac为例(pc不同)
路径可以是~/Desktop/Ohms/js/hereIsMyJs.js
是否有任何模块或方法可以使用我刚才在node中介绍的计算机路径?
我正在使用一个模块,它需要文件应该放置的路径。
它必须是动态工作的,所以对我来说,最佳解决方案就是通过“计算机”路径输入它
要实现您想要的,使用节点的本机path.resolve是正常的 其他值得一提的事情:
- 波浪号字符
是*nix世界中主目录的缩写。而且在大多数地方都有效,而不是在窗户上~
- 在节点中,您可以使用
获取主目录require('os').homedir()
- 还有
(给出包含当前执行文件的目录的绝对路径)和\uuu dirname
,其中给出了执行文件的目录process.cwd()
- 最后还有
,它类似于resolve,但用于连接相对路径,不关心当前目录path.join()
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.