📜  Node.js path.format() 方法

📅  最后修改于: 2022-05-13 01:56:19.354000             🧑  作者: Mango

Node.js path.format() 方法

path.format() 方法用于从给定的路径对象返回路径字符串。该方法有一些规则,其中一个路径属性比另一个更优先:

  • 如果提供了“dir”参数,则忽略路径对象的“root”参数。
  • 如果提供了“base”参数,则路径对象的“ext”和“name”参数将被忽略。

句法:

path.format( pathObject )

参数:此函数接受包含路径详细信息的单个参数pathObject 。它具有以下参数:

  • dir:指定路径对象的目录名。
  • root:它指定路径对象的根。
  • base:它指定路径对象的基础。
  • name:它指定路径对象的文件名。
  • ext:它指定路径对象的文件扩展名。

返回值:它从提供的路径对象返回一个路径字符串。

下面的程序说明了 Node.js 中的 path.format() 方法:

示例 1:在 POSIX 上

// Import the path module
const path = require('path');
  
// CASE 1
// If "dir", "root" and "base" are all given,
// "root" is ignored.
let path1 = path.format({
    root: "/ignored/root/",
    dir: "/home/user/personal",
    base: "details.txt",
});
console.log("Path 1:", path1);
  
// CASE 2
// If "dir" is not specified then "root" will be used 
// If only "root" is provided
// platform separator will not be included.
// "ext" will be ignored.
let path2 = path.format({
    root: "/",
    base: "game.dat",
    ext: ".noextension",
});
console.log("Path 2:", path2);
  
// CASE 3
// If "base" is not specified
// "name" and "ext" will be used 
let path3 = path.format({
    root: "/images/",
    name: "image",
    ext: ".jpg",
});
console.log("Path 3:", path3);

输出:

Path 1: /home/user/personal/details.txt
Path 2: /game.dat
Path 3: /images/image.jpg

示例 2:在 Windows 上

// Import the path module
const path = require('path');
  
// CASE 1
// If "dir", "root" and "base" are all given,
// "root" is ignored.
let path1 = path.format({
    root: "C:\\ignored\\root",
    dir: "website\\dist",
    base: "index.html",
});
console.log("Path 1:", path1);
  
// CASE 2
// If "dir" is not specified then "root"
// will be used 
// If only "root" is provided platform
// separator will not be included.
// "ext" will be ignored.
let path2 = path.format({
    root: "C:\\",
    base: "style.css",
    ext: ".ignored",
});
console.log("Path 2:", path2);
  
// CASE 3
// If "base" is not specified
// "name" and "ext" will be used 
let path3 = path.format({
    root: "website\\",
    name: "main",
    ext: ".js",
});
console.log("Path 3:", path3);

输出:

Path 1: website\dist\index.html
Path 2: C:\style.css
Path 3: website\main.js

参考: https://nodejs.org/api/path.html#path_path_format_pathobject