有没有一种方法可以纠正 node.js 从 Windows 到 Linux 和 Mac 关于反斜杠与正斜杠的差异?
Windows 在调用位置时需要反斜杠git bash
,而 Mac/Linux 需要正斜杠。我正在与 Mac 和 Windows 用户一起开发一个项目,因此我无法将代码中的所有正斜杠更改为反斜杠,因为当 Mac 用户拉动时,coffee 将无法为他们正确运行,反之亦然。
有针对这个的解决方法吗?
有没有一种方法可以纠正 node.js 从 Windows 到 Linux 和 Mac 关于反斜杠与正斜杠的差异?
Windows 在调用位置时需要反斜杠git bash
,而 Mac/Linux 需要正斜杠。我正在与 Mac 和 Windows 用户一起开发一个项目,因此我无法将代码中的所有正斜杠更改为反斜杠,因为当 Mac 用户拉动时,coffee 将无法为他们正确运行,反之亦然。
有针对这个的解决方法吗?
确保使用路径方法而不是输入路径。path.normalize()
在开发path.join()
跨平台时特别有用:
在 Windows 上:
$ node
> var p = require('path')
undefined
> p.normalize('/hey/there/you')
'\\hey\\there\\you'
> p.join('/hey', 'there', '/you')
'\\hey\\there\\you'
在 Linux 上:
$ node
> var p = require('path')
undefined
> p.normalize('/hey/there/you')
'/hey/there/you'
> p.join('/hey', 'there', '/you')
'/hey/there/you'
希望这可以帮助。
除了乍得的回答,当您构建路径时,您还可以:
var path = require("path");
"hey" + path.sep + "there" + path.sep + "you"
或者
["hey", "there", "you"].join(path.sep);