- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTFul API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 从表中选择数据
- Node.js - MySQL WHERE 条件
- Node.js - MySQL ORDER BY 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 限制结果
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - path.resolve() 方法
path 模块的 Node.js path.resolve() 方法将一系列路径段;或路径组合成一个绝对路径。给定的路径段从右到左处理,每个后续路径都预先附加,直到形成一个绝对路径。
即使在处理完所有给定的路径段后,如果仍未形成绝对路径,此方法也将使用当前工作目录。此方法将忽略零长度的路径段。如果此方法未传递任何路径段,则将返回当前工作目录的绝对路径。
语法
以下是path 模块的Node.js path.resolve() 方法的语法:
path.resolve([...paths])
参数
…paths − 此参数包含要解析以形成完整绝对路径的一系列路径段。
返回值
此方法将返回一个表示绝对路径的字符串。
示例
Node.js path.resolve() 方法将从右到左解析给定路径的序列,将每个路径预先附加,直到创建绝对路径。
在以下示例中,我们传递了不是绝对路径的路径段。
const path = require('path'); path1 = path.resolve('CSS/', "..", 'HTML/', "..", 'file.html') console.log(path1);
输出
在在线编译器(POSIX)中执行上述程序后,path.resolve() 方法从右到左解析路径段并返回绝对路径。
/home/cg/root/63a02f1595a95/file.html
以下是在WINDOWS 操作系统上执行上述代码时的输出。
C:\Users\Lenovo\Desktop\JavaScript\file.html
示例
如果未将任何路径段传递给path.resolve() 方法,它将返回当前工作目录的绝对路径。
在以下程序中,我们向 path 参数传递了一个空字符串。
const path = require('path'); path1 = path.resolve('') console.log(path1);
输出
在在线编译器(POSIX)中执行上述程序后,path.resolve() 方法将返回当前工作目录的绝对路径。
/home/cg/root/63a02f1595a95
以下是在WINDOWS 操作系统上执行上述代码时的输出。
C:\Users\Lenovo\Desktop\JavaScript
示例
如果第一个路径段未被视为根段,则path.resolve() 方法将为传递的路径段分配当前工作目录。
在下面的程序中,我们没有将第一个段视为根段。
const path = require('path'); path1 = path.resolve('CSS/', 'HTML/', 'file.html') console.log(path1);
输出
如果我们在在线编译器(POSIX)中编译并运行上述程序,path.resolve() 将返回附加到当前工作目录的给定路径段。
/home/cg/root/63a02f1595a95/CSS/HTML/file.html
以下是在WINDOWS 操作系统上执行上述代码时的输出。
C:\Users\Lenovo\Desktop\JavaScript\CSS\HTML\file.html
示例
如果我们向…paths 参数传递的值不是字符串类型,则该方法将抛出TypeError。
在给定的程序中,我们向path.resolve() 方法的…paths 参数传递了一个数组的实例,而不是一个字符串。
const path = require('path'); path1 = path.resolve(['/file']) console.log(path1);
TypeError
如果我们编译并运行上述程序,path.relative() 方法将抛出TypeError,因为…paths 参数不是字符串。
path.js:39 throw new ERR_INVALID_ARG_TYPE('path', 'string', path); ^ TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object at assertPath (path.js:39:11) at Object.resolve (path.js:1090:7) at Object.<anonymous> (/home/cg/root/63a02f1595a95/main.js:3:14) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19)