有沒有一種方法可以糾正node.js從Windows到Linux和Mac的反斜槓與正斜槓之間的差異?針對Windows和Mac的Node.js - 正斜槓,反斜槓糾正
當調用git bash
中的位置時,Windows需要反斜槓,而Mac/Linux需要正斜槓。我正在與Mac和Windows用戶共同開發一個項目,因此我無法在代碼中將所有正斜槓都更改爲反斜槓,因爲當Mac用戶拉動咖啡時,咖啡無法正常運行,反之亦然。
有沒有解決方案?
有沒有一種方法可以糾正node.js從Windows到Linux和Mac的反斜槓與正斜槓之間的差異?針對Windows和Mac的Node.js - 正斜槓,反斜槓糾正
當調用git bash
中的位置時,Windows需要反斜槓,而Mac/Linux需要正斜槓。我正在與Mac和Windows用戶共同開發一個項目,因此我無法在代碼中將所有正斜槓都更改爲反斜槓,因爲當Mac用戶拉動咖啡時,咖啡無法正常運行,反之亦然。
有沒有解決方案?
確保使用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()
開發跨平臺的時候特別有用。
除了乍得的答案,當你正在構建路徑,您可以:
var path = require("path");
"hey" + path.sep + "there" + path.sep + "you"
或
["hey", "there", "you"].join(path.sep);
這是'path.join'爲您做的,但它也需要照顧到確保你沒有雙斜槓和東西。 – Chad 2013-03-12 15:29:59