我正在构建一个节点应用程序,该应用程序具有由应用程序的用户编辑的配置文件,并且它们中有文件路径。
这些配置文件将用于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路径是棘手的,当给定一个以/
开头的路径时,您必须以某种内容前缀。那是什么,取决于您,也许是安装应用程序的驱动器驱动器根。