• 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
广告