有没有一种方法可以纠正node.js从Windows到Linux和Mac的差异,反斜杠与正斜杠?
Windows在git bash
中调用位置时需要反斜杠,而Mac / Linux需要正斜杠。我正在与Mac和Windows用户一起开展一个项目,所以我无法在代码中将所有正斜杠更改为反斜杠,因为当Mac用户拉动时,咖啡将无法正常运行,反之亦然。
有解决方法吗?
答案 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);