
- 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.basename() 方法
Node.js 的path 模組提供了一些用於處理檔案和目錄路徑的實用程式。
在 Windows 上,Node.js 的path.basename() 方法返回指定路徑的最後一部分。而在基於 LINUX 的系統上,我們可以使用basename 命令獲取路徑的最後一部分。這對於提取路徑中的名稱很有用,無需手動解析它們。此方法會忽略尾隨目錄分隔符。
語法
以下是 path 模組中Node.js path.basename() 方法的語法:
path.basename(path[, suffix])
引數
此方法接受兩個引數。下面描述了它們。
path − 此引數指定特定的檔案路徑,該路徑將用於提取檔名。此引數必須作為字串傳遞。
suffix − 這是一個可選引數,它儲存檔案的副檔名(例如 .txt 或 .json),這些副檔名將從返回的字串中刪除。
返回值
此方法將返回一個字串,該字串指定檔案路徑的檔名部分。如果path 或extension 引數不是字串值,則會丟擲TypeError。
示例
如果我們將path 引數傳遞給該方法,它將返回指定path 的最後一部分。
在以下示例中,我們嘗試透過將檔案path 傳遞給 Node.js path.basename() 方法(path 模組的path 引數)來獲取檔名部分。
const path = require('path'); var path_of_file = path.basename("/Users/Lenovo/Desktop/JavaScript/Nodefile.js"); console.log(path_of_file);
輸出
執行上述程式後,Node.js path.basename() 將返回檔名;包括副檔名。
Nodefile.js
示例
如果我們將path 和suffix 都傳遞給該方法,它將返回路徑的最後一部分,同時刪除suffix。
在以下示例中,我們嘗試透過將副檔名(".js")傳遞給suffix 引數來獲取path 的檔名部分,但不包括副檔名。
const path = require('path'); var path_of_file = path.basename("/Users/Lenovo/Desktop/JavaScript/Nodefile.js", ".js") console.log(path_of_file);
輸出
執行上述程式後,path.basename() 方法將返回path 的最後一部分,不包括suffix。
Nodefile
示例
如果我們將非字串型別的值傳遞給path 引數,此方法將丟擲TypeError。
在以下示例中,我們傳遞整數而不是字串給該方法的path 引數。
const path = require('path'); var path_of_file = path.basename(098870957214) console.log(path_of_file);
TypeError
如果我們編譯並執行上述程式,此方法將丟擲TypeError。
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 number at assertPath (path.js:39:11) at Object.basename (path.js:1299:5) at Object.<anonymous> (/home/cg/root/63a02348bb977/main.js:3:25) 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)
示例
如果我們將非字串型別的值傳遞給suffix 引數,該方法將丟擲TypeError。
在以下示例中,我們嘗試傳遞整數而不是字串給suffix。
const path = require('path'); var path_of_file = path.basename("C:/Users/Lenovo/Desktop/JavaScript/Nodefile.js", 986876) console.log(path_of_file);
TypeError
正如我們在下面的輸出中看到的,它將丟擲TypeError。
path.js:1298 throw new ERR_INVALID_ARG_TYPE('ext', 'string', ext); ^ TypeError [ERR_INVALID_ARG_TYPE]: The "ext" argument must be of type string. Received type number at Object.basename (path.js:1298:13) at Object.<anonymous> (/home/cg/root/63a02348bb977/main.js:3:25) 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) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)