适用于Windows和Mac的Node.js - 正斜杠,反斜杠修正

时间:2013-03-12 15:04:59

标签: node.js coffeescript

有没有一种方法可以纠正node.js从Windows到Linux和Mac的差异,反斜杠与正斜杠?

Windows在git bash中调用位置时需要反斜杠,而Mac / Linux需要正斜杠。我正在与Mac和Windows用户一起开展一个项目,所以我无法在代码中将所有正斜杠更改为反斜杠,因为当Mac用户拉动时,咖啡将无法正常运行,反之亦然。

有解决方法吗?

2 个答案:

答案 0 :(得分:8)

确保使用path方法而不是输入路径。在开发跨平台时,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'

希望这有帮助。

答案 1 :(得分:1)

除了Chad的回答,当你构建路径时,你可以:

var path = require("path");
"hey" + path.sep + "there" + path.sep + "you"

["hey", "there", "you"].join(path.sep);