跨平台配置文件中定义的路径的最佳实践

问题描述 投票:0回答:1

我正在构建一个节点应用程序,其中包含要由应用程序用户编辑的配置文件,并且它们中包含文件路径。

这些配置文件将用于Windows,Linux和MacOSX。例如,使用此应用程序的项目可能在Windows和MacOSX中开发,但配置文件是相同的。

在这种情况下,路径格式的最佳实践是什么?

我有几种可能性:

  • 强制POSIX用于配置文件,然后在处理它们时,将它们转换为当前平台。这里的问题是Windows用户可能不喜欢使用他们习惯的不同格式的路径。
  • 允许配置文件中的两种格式,并在解析时将它们转换为当前平台。我担心这可能导致解析问题。此外,它可能会导致奇怪的混合配置文件。

我认为有很多软件存在同样的困境,所以我想知道那里是否有一些最佳实践。

谢谢您的帮助!

编辑:路径只是相对的,没有绝对路径。如果有人提出绝对路径,那么该配置无论如何都不能在不同的操作系统中使用,所以没关系。

node.js winapi configuration path posix
1个回答
0
投票

快速转换/\应该不是一个大问题,处理路径的根源就是问题所在。

我建议您添加对某种字符串扩展的支持,以便用户可以指定相对于已知位置的路径。也许这样的东西:

imagedir=%config%/myimages
fallbackimagedir=%appdir%/images

您还应该尝试处理完整路径。

我建议您在阅读POSIX系统上的配置时,将c:\foo等Windows驱动器号路径转换为/c/foo。这很容易,因为字符串长度是相同的,但它确实假设/c已被设置为有用的东西。

在Windows上读取POSIX路径比较复杂,当给出一个以/开头的路径时,你必须在它前面添加一些东西。这是什么,取决于您,也许是安装应用程序的驱动器的驱动器号根。

© www.soinside.com 2019 - 2024. All rights reserved.