Node.js - url.pathToFileURL() 方法



类 URL 的 Node.js url.pathToFileURL() 方法接受文件的路径,并将它们转换为完全解析的文件 URL 对象。

此方法将确保文件路径得到绝对解析。如果文件路径包含 URL 控制字符,则它们将被编码并转换为完全解析的文件 URL。

语法

以下是 URL 类的 NodeJS url.pathToFileURL() 方法的语法


 url.pathToFileURL(path)

参数

  • path:此参数指定将转换为文件 URL 的路径。
返回值

此方法返回文件 URL 对象。

如果我们将文件路径传递给 NodeJS url.pathToFileURL() 方法,它会将该路径转换为文件 URL 对象。

在以下示例中,我们将“__filename”(即它获取当前工作文件的路径)传递给 pathToFileURL() 方法。


const { pathToFileURL } = require('node:url');

let PtoF = pathToFileURL(__filename);
console.log(PtoF);

输出

在执行上述程序时,它将生成以下输出

URL {
href: 'file:///C:/Users/Lenovo/Desktop/JavaScript/nodefile.js',
origin: 'null',
protocol: 'file:',
username: '',
password: '',
host: '',
hostname: '',
port: '',
pathname: '/C:/Users/Lenovo/Desktop/JavaScript/nodefile.js',
search: '',
searchParams: URLSearchParams {},
hash: ''
}

如果我们传递给 pathToFileURL() 方法的路径包含 URL 控制字符,它将对它们进行编码并将它们转换为完全解析的文件 URL 对象。

在以下示例中,我们将路径传递给包含 URL 控制字符的 pathToFileURL() 方法。


const { pathToFileURL } = require('node:url');

let PtoF = pathToFileURL('/footer#/file%.js');
console.log(PtoF);

输出

在执行上述程序时,它将生成以下输出

URL {
href: 'file:///C:/footer%23/file%25.js',
origin: 'null',
protocol: 'file:',
username: '',
password: '',
host: '',
hostname: '',
port: '',
pathname: '/C:/footer%23/file%25.js',
search: '',
searchParams: URLSearchParams {},
hash: ''
}