
- 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)