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