【问题标题】:Is there an os package equivalent of path.resolve()?是否有等效于 path.resolve() 的 os 包?
【发布时间】:2020-09-01 20:03:14
【问题描述】:

我正在尝试找到与path.resolve(__dirname, '../bin') 等效的操作系统包方式。我希望我的代码能够在所有可能类型的环境中工作,所以我虽然使用 OS 包最适合这个。有什么建议吗?

【问题讨论】:

    标签: javascript node.js path filepath yarnpkg


    【解决方案1】:

    使用path.joinpath.resolve 将处理目录分隔符,只要您不对目录分隔符进行硬编码,它将与任何操作系统兼容。所以不需要使用额外的包。

    不要使用../bin,而是使用。

    path.resolve(__dirname, '..', 'bin')
    

    OS 内置模块不提供解析路径的方法,path 模块负责处理。

    path.join() 方法使用平台特定的分隔符作为分隔符将所有给定的路径段连接在一起,然后规范化生成的路径。

    【讨论】:

    • 我会试试这个,但是有等效的操作系统吗?
    • 操作系统等效是什么意思?如果已经是多操作系统,为什么还需要一个等价物。
    • 我想问题是,path.resolve() 是否适用于每个环境?测试、开发、生产和多操作系统?
    • 是的,只要您不对目录分隔符进行硬编码,它就可以工作。
    • 这是个好建议。但是,path 确实处理目录分隔符规范化。例如path.resolve('C:/Users') === 'C:\\Users'.
    猜你喜欢
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    相关资源
    最近更新 更多