2013-03-12 114 views
2

有沒有一種方法可以糾正node.js從Windows到Linux和Mac的反斜槓與正斜槓之間的差異?針對Windows和Mac的Node.js - 正斜槓,反斜槓糾正

當調用git bash中的位置時,Windows需要反斜槓,而Mac/Linux需要正斜槓。我正在與Mac和Windows用戶共同開發一個項目,因此我無法在代碼中將所有正斜槓都更改爲反斜槓,因爲當Mac用戶拉動咖啡時,咖啡無法正常運行,反之亦然。

有沒有解決方案?

回答

7

確保使用path方法而不是輸入路徑。

在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' 

希望這有助於path.normalize()path.join()開發跨平臺的時候特別有用。

1

除了乍得的答案,當你正在構建路徑,您可以:

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

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

這是'path.join'爲您做的,但它也需要照顧到確保你沒有雙斜槓和東西。 – Chad 2013-03-12 15:29:59