- 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 排序
- 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.dirname() 方法
Node.js 的 path.dirname() 方法是 path 模块的一个辅助方法,用于获取指定路径的父目录。当您需要确定应用程序或脚本正在从哪个文件夹运行,或者想要找出某个文件在文件系统中的位置时,此方法非常有用。
而在基于 LINUX 的系统上,我们可以使用 dirname 命令获取路径的目录名称部分。此方法会忽略尾随的目录分隔符。
语法
以下是 path 模块中 Node.js path.dirname() 方法的语法:
path.dirname( path )
参数
path - 此参数保存将用于提取该特定文件目录名称的文件路径。如果 path 不是字符串,则会抛出 TypeError。
返回值
此方法返回一个字符串,该字符串指定指定文件路径的目录名称。这有助于解析路径以确定文件相对于另一个文件或文件夹的位置。
示例
如果我们将 path 参数传递给该方法,它将返回指定 path 的目录名称部分。
在以下示例中,我们尝试使用 os 模块的 Node.js path.dirname() 方法获取指定文件 path (Nodefile.js) 的目录名称。
const path = require('path'); const path1 = path.dirname("C:/Users/Lenovo/Desktop/JavaScript/Nodefile.js"); console.log("The Directory name of the file path (Nodefile.js) is: " + path1);
输出
执行上述程序后,path.dirname() 返回给定文件路径的目录名称部分。
The Directory name of the file path (Nodefile.js) is: C:/Users/Lenovo/Desktop/JavaScript
示例
如果我们将不是 string 类型的值传递给 path 参数,则该方法将抛出 TypeError。
在以下示例中,我们将 integer 而不是 string 传递给该方法的 path 参数。
const path = require('path'); const path1 = path.dirname(6576543); console.log("The Directory name of the path (Nodefile.js) is: " + path1);
TypeError
如果我们编译并运行上述程序,则 path.dirname() 方法会抛出 TypeError,因为 path 参数不是 string 值。
For Output Code pre classpath.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 number at assertPath (path.js:39:11) at Object.dirname (path.js:1270:5) at Object.<anonymous> (/home/cg/root/63a028ab0650d/main.js:3:20) 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)
示例
以下是获取指定文件路径的目录名称部分的另一种方法。
const path = require('path'); console.log("The file path of (Nodefile.js): " + __filename); const path1 = path.dirname(__filename); console.log("The Directory name portion of the file is: " + path1);
输出
如果我们在在线编译器中执行代码,它将根据 POSIX 操作系统显示结果。
以下是上述程序的输出:
The file path of (Nodefile.js): /home/cg/root/63a028ab0650d/main.js The Directory name portion of the file is: /home/cg/root/63a028ab0650d
当我们在 WINDOWS 操作系统上执行上述程序时,“__filename” 将获取当前文件路径,并且 path.dirname() 方法将返回当前文件路径的目录名称部分。
The file path of (Nodefile.js): C:\Users\Lenovo\Desktop\JavaScript\nodefile.js The Directory name portion of the file is: C:\Users\Lenovo\Desktop\JavaScript