【发布时间】:2020-09-01 20:03:14
【问题描述】:
我正在尝试找到与path.resolve(__dirname, '../bin') 等效的操作系统包方式。我希望我的代码能够在所有可能类型的环境中工作,所以我虽然使用 OS 包最适合这个。有什么建议吗?
【问题讨论】:
标签: javascript node.js path filepath yarnpkg
我正在尝试找到与path.resolve(__dirname, '../bin') 等效的操作系统包方式。我希望我的代码能够在所有可能类型的环境中工作,所以我虽然使用 OS 包最适合这个。有什么建议吗?
【问题讨论】:
标签: javascript node.js path filepath yarnpkg
使用path.join 或path.resolve 将处理目录分隔符,只要您不对目录分隔符进行硬编码,它将与任何操作系统兼容。所以不需要使用额外的包。
不要使用../bin,而是使用。
path.resolve(__dirname, '..', 'bin')
OS 内置模块不提供解析路径的方法,path 模块负责处理。
path.join()方法使用平台特定的分隔符作为分隔符将所有给定的路径段连接在一起,然后规范化生成的路径。
【讨论】:
path 确实处理目录分隔符规范化。例如path.resolve('C:/Users') === 'C:\\Users'.