在 electron-vue 中的 Windows 下的路径问题,path.resolve 替换为 path.posix.join 。

起因很简单,如下代码在 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) 存在的情况:

在 electron-vue 中的 Windows 下的路径问题,path.resolve 替换为 path.posix.join 。

return path.join(this.basePath, routePath) 存在的情况:

在 electron-vue 中的 Windows 下的路径问题,path.resolve 替换为 path.posix.join 。

看起来好像没有问题?但实际上展开的路径是这样的。

在 electron-vue 中的 Windows 下的路径问题,path.resolve 替换为 path.posix.join 。

显然,斜杠被调整到 Windows 路径 path 了,也就是所谓的反斜杠了。

最后调整为 return path.posix.join(this.basePath, routePath)

也就是 posix 风格的 path ,如下图。

在 electron-vue 中的 Windows 下的路径问题,path.resolve 替换为 path.posix.join 。

此时就正常了,比比心。

跨平台还是得看 posix api 。