起因很简单,如下代码在 Windows 的 electron-vue 会发生如下问题,别问我为什么,我也很迷茫,有如下相关代码。
return path.resolve(this.basePath, routePath)
// return path.join(this.basePath, routePath)
// return path.posix.join(this.basePath, routePath)
return path.resolve(this.basePath, routePath) 存在的情况:
return path.join(this.basePath, routePath) 存在的情况:
看起来好像没有问题?但实际上展开的路径是这样的。
显然,斜杠被调整到 Windows 路径 path 了,也就是所谓的反斜杠了。
最后调整为 return path.posix.join(this.basePath, routePath)
也就是 posix 风格的 path ,如下图。
此时就正常了,比比心。
跨平台还是得看 posix api 。
在 electron-vue 中的 Windows 下的路径问题,path.resolve 替换为 path.posix.join 。