• Node.js Video Tutorials

Node.js - path.format() 方法



Node.js 的path模組提供了一些用於處理檔案和目錄路徑的實用程式。在本文中,我們將透過適當的示例介紹 path.format() 方法。

Node.js path.format() 方法是 path 模組的一個方法,它返回一個指定路徑物件的字串。此方法與 path 模組的 path.parse() 方法正好相反。

此方法接受一個輸入字串,並用附加引數中指定的值替換佔位符。佔位符可以包含標誌、寬度、對齊方式或其他控制值格式的資訊。此外,此方法支援諸如 %d(用於整數)、%f(用於浮點數)和 %j(用於 JSON)之類的特殊標記。這使得在您的 Node.js path.應用程式中輕鬆建立格式化字串,而無需編寫自定義程式碼。

語法

以下是Node.js path.format()方法的語法:

path.format( pathObject )

引數

此方法僅接受一個引數,其中包含有關路徑的資訊。以下是pathObject的屬性。

  • dir - 此屬性描述路徑物件的目錄名稱。

  • root - 此屬性描述路徑物件的根目錄。

  • base - 此屬性描述路徑物件的基礎名稱(檔名加副檔名)。

  • name - 此屬性描述路徑物件的檔名。

  • ext - 此屬性描述路徑物件的副檔名。

返回值

此方法從指定的路徑物件返回一個路徑字串

在為pathObject提供值時,某些組合中一個屬性的優先順序高於另一個屬性:

  • 如果提供了'dir'屬性,則將忽略pathObject的'root'屬性。

  • 如果提供了'base'屬性,則將忽略pathObject的'ext'屬性和'name'屬性。

示例

如果指定了pathObject的'dir'、'root'和'base'屬性,則將忽略'root'屬性。

在以下示例中,我們嘗試為pathObject的'dir'、'root'和'base'屬性提供值。

const path = require('path');
var formatted = path.format({
   root: '/IGNORED',
   dir: '/Desktop/JavaScript',
   base: 'Nodefile.js'
});
console.log(formatted);

輸出

執行上述程式後,將返回'dir'和'base',並將忽略pathObject的'root'屬性。

/Desktop/JavaScript/Nodefile.js

示例

如果沒有提供'dir'屬性,則將使用pathObject的'root'屬性。

在以下示例中,我們嘗試為pathObject的'root'和'base'屬性提供值,並且我們沒有提供'dir'屬性。

const path = require('path');
var formatted = path.format({
   root: '/Lenovo/',
   base: 'Nodefile.js'
});
console.log(formatted);

輸出

執行上述程式後,將使用'root',因為在pathObject中沒有提供'dir'屬性。

/Lenovo/Nodefile.js

示例

如果提供了pathObject的'root'屬性,則不會包含平臺分隔符。

在以下示例中,我們提供了pathObject的'root'、'base'和'ext'屬性。

const path = require('path');
var formatted = path.format({
   root: '/Lenovo/',
   base: 'Nodefile',
   ext: '.js'
});
console.log(formatted);

輸出

正如我們在下面的輸出中看到的,'ext'屬性被忽略了,因為只提供了pathObject的'root'屬性。

/Lenovo/Nodefile

示例

如果pathObject的'root'和'dir'屬性相同,則不會包含平臺分隔符。然後將忽略'ext'。

在以下示例中,我們提供了pathObject的'root'、'base'、'dir'和'ext'屬性。

const path = require('path');
var formatted = path.format({
   root: '/Lenovo/',
   dir: '/Lenovo/',
   base: 'Nodefile',
   ext: '.js'
});
console.log(formatted);

輸出

正如我們在下面的輸出中看到的,'ext'屬性被忽略了,因為pathObject的'root'和'dir'屬性相同。

/Lenovo/Nodefile

示例

如果未提供'base',則將使用pathObject的'name' + 'ext'屬性。

在以下示例中,我們嘗試為pathObject的'root'、'name'和'ext'屬性提供值,並且我們沒有提供'base'屬性。

const path = require('path');
var formatted = path.format({
   root: '/Lenovo',
   name: '/Nodefile',
   ext: '.js'
});
console.log(formatted);

輸出

執行上述程式後,將返回pathObject的'name' + 'ext'屬性以代替'base'屬性,因為沒有提供'base'屬性。

/Lenovo/Nodefile.js
nodejs_path_module.htm
廣告

© . All rights reserved.