這個模組包含傳遞和轉換檔案路徑的公共程式。幾乎所有的方法只會在字串轉化的時候執行。 檔案系統不會嘗試去確認路徑是否合法。
通過require('path')來使用這個模組。
以下是該模組提供的方法:
返回路徑的最後一部分。就像unix中的basename命令那樣。
例子:
path.basename('/foo/bar/baz/asdf/quux.html')//returns
'quux.html'path.basename('/foo/bar/baz/asdf/quux.html', '.html')
//returns
'quux'
平台特定的路徑分隔符, ';'或者
':' 。
在unix或者linux系統下的乙個例子:
console.log(process.env.path)//'/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin'
process.env.path.split(path.delimiter)
//returns
['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']
在windows系統下的乙個例子:
console.log(process.env.path)//'c:\windows\system32;c:\windows;c:\program files\node\'
process.env.path.split(path.delimiter)
//returns
['c:\\windows\\system32', 'c:\\windows', 'c:\\program files\\node\\']
譯者多嘴一句:不要把精力過多的放在細節上,如果你不太明白某個屬性或方法是怎麼回事,don't worry,一切都會隨著時間而變得好起來。
返回乙個路徑所對應的資料夾名。就像你在unix下使用dirname命令那樣。
例子:
path.dirname('/foo/bar/baz/asdf/quux')//returns
'/foo/bar/baz/asdf'
返回路徑的副檔名,從最後乙個'.'字元到路徑最後乙個部分的字串的結尾。如果在路徑的最後一部分中沒有'.'字元或者以'.'字元開頭,那麼則會返回乙個空字串。
例子:
path.extname('index.html')//returns
'.html'path.extname('index.coffee.md')
//returns
'.md'path.extname('index.')
//returns
'.'path.extname('index')
//returns
''path.extname('.index')
//returns
''
從乙個物件中返回乙個路徑字串, 與之相對應的方法請參考path.parse。
例子:
path.format()//returns
'/home/user/dir/file.txt'
確認傳進來的path引數是否是乙個絕對路徑。乙個絕對路徑
將總是解析到相同的位置,並無視工作資料夾。
posix下的例子:
path.isabsolute('/foo/bar') //true
path.isabsolute('/baz/..') //
true
path.isabsolute('qux/') //
false
path.isabsolute('.') //
false
windows下的例子:
path.isabsolute('//server') //true
path.isabsolute('c:/foo/..') //
true
path.isabsolute('bar\\baz') //
false
path.isabsolute('.') //
false
注意: 如果被當作引數傳遞的路徑字串是乙個長度為0的字串,與path模組下其他的方法不同,他會按照原樣使用並返回false。
把所有的引數結合在一起並標準化。
引數必須是字串。在v0.8下,不是字串的引數會被忽略.在v0.10或更高版本,會丟擲乙個異常。
例子:
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')//returns
'/foo/bar/baz/asdf'path.join('foo', {}, 'bar')
//throws exception
typeerror: arguments to path.join must be strings
note: join方法的引數中如果有長度為0的字串,與path模組下其他的函式不同,這些引數將會被忽略。如果沒有給join方法傳遞任何引數那麼會返回'.', 代表目前的工作目錄。
標準化乙個路徑字串, 特別是'..'和
'.'的部分。
當發現多個斜槓時,他們將會替換成乙個單斜槓; 當乙個路徑結尾有乙個斜槓,它將會被保留。在windows下會使用反斜線。
例子:
path.normalize('/foo/bar//baz/asdf/quux/..')//returns
'/foo/bar/baz/asdf'
注意: 如果將乙個空字串當作引數傳遞那麼會返回乙個'.',代表當前的工作目錄。
將乙個路徑字串當作物件返回。
在unix或linux下的例子:
path.parse('/home/user/dir/file.txt')//returns
在windows下的例子:
path.parse('c:\\path\\dir\\index.html')//returns
提供乙個訪問path字首的方法但是一般會由於posix相容方式二相互影響。(譯者水平有限,這句翻譯不准)
有時候我們有兩個絕對路徑, 我們需要從乙個路徑向另外乙個路徑派生他們之間有關係的路徑。 這個方法實際上是path.resolve的相反方法,比如:
path.resolve(from, path.relative(from, to)) == path.resolve(to)
例子:
path.relative('c:\\orandea\\test\\aaa', 'c:\\orandea\\impl\\bbb')//returns
'..\\..\\impl\\bbb'path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
//returns
'../../impl/bbb'
將to
分解成乙個絕對路徑。
如果to
不是乙個絕對路徑那麼from將會被優先考慮,
直到找到乙個絕對路徑。如果用完了所有的from
依然沒有找到絕對路徑,就會使用當前的工作目錄。結果路徑會被標準化, 尾部斜槓會被移除除非路徑分解到根目錄。from如果有空字串將會被忽略。
如果不太理解,可以試著將其看成cmd中的一系列cd命令。
path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')
類似於:
cd foo/barcd /tmp/file/cd ..
cd a/../subfile
pwd
不同點在於路徑不需要存在,也可以是乙個檔案。
例子:
path.resolve('/foo/bar', './baz')//returns
'/foo/bar/baz'path.resolve('/foo/bar', '/tmp/file/')
//returns
'/tmp/file'path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')
//if currently in /home/myself/node, it returns
'/home/myself/node/wwwroot/static_files/gif/image.gif'
例子: 如果將空字串作為引數,他會被自動替換成當前工作目錄。
平台特定的檔案分隔符。'\\'
或者'/'。
linux或unix下的例子:
'foo/bar/baz'.split(path.sep)//returns
['foo', 'bar', 'baz']
windows下的例子:
'foo\\bar\\baz'.split(path.sep)//returns
['foo', 'bar', 'baz']
提供訪問path字首的方法但是會在win32的相容方式下相互影響。
翻譯 OpenTSDB 2 3 文件 聚合
但是,如何將多個單獨的時間序列合併為乙個系列的資料呢?聚合函式提供了以數學方式將不同時間序列合併為乙個的方法。過濾器用於按標籤對結果進行分組,然後將聚合應用於每個組 先進行分組,再進行聚合 聚合類似於sql的group by子句,使用者選擇預定義的聚合函式以將多個記錄合併為單個結果。但是在tsd中,...
WSE 3 0 文件翻譯 路由
文件翻譯 wse 的新功能 下面的篇幅主要講述wse的路由功能 乙個使用wse的應用程式能夠被設計成對客戶端透明的計算機網路拓撲結構。為了建立這樣乙個透明的網路拓撲結構,需要為一台中介計算機進行配置來執行wse路由,這時候,客戶端將請求傳送給路由,而不是網路服務,而路由再將soap訊息報文傳遞給網路...
Apache Mina 2 文件翻譯 章節彙總
size x large apache mina 2 文件翻譯 章節彙總 size url 第一章 開始 url url 第二章 基礎 url url 第三章 ioservice url url 第四章 session url url 第五章 過濾器 url url 第六章 傳輸協議 url url...