起因很簡單,如下代碼在 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 。