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



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

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

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

我有几个可能性:

  • force posix用于配置文件,然后在处理它们时,将其转换为当前平台。这里的问题在于,Windows用户可能不喜欢以使用不同格式的路径。
  • 允许在配置文件中和解析时,将两种格式转换为当前平台。恐怕这可能会导致解析问题。另外,它可能会导致怪异的混合配置文件。

我认为那里有很多遇到相同困境的软件,所以我想知道那里是否有一些最佳练习。

谢谢您的帮助!

编辑:路径仅是相对的,没有绝对路径。如果有人放置了绝对路径,那么该config无论如何都不能在不同的oss中使用,所以可以。

即时在/之间转换不应该是一个大问题,处理路径的根源是事情变得有问题的地方。

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

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

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

我建议您在读取POSIX系统上的配置时将Windows驱动器字母路径(例如c:foo)转换为/c/foo。这很容易,因为字符串长度相同,但确实假定/c已设置为有用的东西。

在Windows上读取POSIX路径是棘手的,当给定一个以/开头的路径时,您必须以某种内容前缀。那是什么,取决于您,也许是安装应用程序的驱动器驱动器根。

最新更新