1. 程式人生 > >node.js中path

node.js中path

path 模組提供了一些工具函式,用於處理檔案與目錄的路徑。可以通過以下方式使用:

const path = require('path');

1、 path.join([...paths])

path.join() 方法使用平臺特定的分隔符把全部給定的 path 片段連線到一起,並規範化生成的路徑。

長度為零的 path 片段會被忽略。 如果連線後的路徑字串是一個長度為零的字串,則返回 '.',表示當前工作目錄。

例子:

path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// 返回: '/foo/bar/baz/asdf'

path.join('foo', {}, 'bar');
// 丟擲 'TypeError: Path must be a string. Received {}'

如果任一路徑片段不是一個字串,則丟擲 TypeError

2、path.resolve([...paths])

path.resolve() 方法會把一個路徑或路徑片段的序列解析為一個絕對路徑。

給定的路徑的序列是從右往左被處理的,後面每個 path 被依次解析,直到構造完成一個絕對路徑。 例如,給定的路徑片段的序列為:/foo/barbaz,則呼叫 path.resolve('/foo', '/bar', 'baz') 會返回 /bar/baz

如果處理完全部給定的 path 片段後還未生成一個絕對路徑,則當前工作目錄會被用上。

生成的路徑是規範化後的,且末尾的斜槓會被刪除,除非路徑被解析為根目錄。

長度為零的 path 片段會被忽略。

如果沒有傳入 path 片段,則 path.resolve() 會返回當前工作目錄的絕對路徑。

例子:

path.resolve('/foo/bar', './baz');
// 返回: '/foo/bar/baz'

path.resolve('/foo/bar', '/tmp/file/');
// 返回: '/tmp/file'

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 如果當前工作目錄為 /home/myself/node,
// 則返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'

如果任何引數不是一個字串,則丟擲 TypeError