模块是Node.js 平台自带的一套基本的 API(功能模块)。
处理路径的模块
path 模块。path 是 Node 本身提供的 API,专门用来处理路径。path 仅仅用来处理路径的字符串,不一定存在对应的物理文件。使用方法
加载模块
// 使用核心模块之前,首先加载核心模块
let path = require('path');
// 或者
const path = require('path');
调用path模块中的方法,来处理相应的问题,下面列举path模块中的几个方法
| 方法 | 作用 |
|---|---|
| path.basename(path[, ext]) | 返回 path 的最后一部分(文件名) |
| path.dirname(path) | 返回目录名 |
| path.extname(path) | 返回路径中文件的扩展名(包含.) |
| path.format(pathObject) | 将一个对象格式化为一个路径字符串 |
| path.join([…paths]) | 拼接路径 |
| path.parse(path) | 把路径字符串解析成对象的格式 |
| path.resolve([…paths]) | 基于当前工作目录拼接路径 |
path模块.js
// 1. 使用一个模块,必须先加载这个模块;加载完模块会得到一个对象
// let 该模块的对象 = require('模块名');
// let p = require('path'); // 不建议这样加载,因为变量的名字和模块名不一致
const path = require('path');
// console.log(path);
// 2. 调用这个对象的API,完成工作
// 2.1 extname() -- 获取一个文件的后缀
// let ext = path.extname('index.html'); // .html
// let ext = path.extname('../abc/bcd/index.html?id=123'); // .html?id=123
// let ext = path.extname('../abc/bcd/aa.bb.cc.html'); // .html
console.log(ext);
// 2.2 join() -- 智能拼接路径
// let lujing = path.join(一段路径, 另一段路径, .......);
// let lujing = path.join('aa', 'bb'); // aa\bb
// let lujing = path.join('aa', 'bb', 'index.html'); // aa\bb\index.html
let lujing = path.join(__dirname, 'bb', 'index.html'); // E:\Study\79\服务端编程node\day02\代码\bb\index.html
console.log(lujing);
注:打开node终端进行上述验证即可
工作目录:当前运行 Node 程序的目录
const path = require('path');
// extname -- 获取文件后缀
console.log(path.extname('index.html')); // .html
console.log(path.extname('index.coffee.md')); // .md
// join -- 智能拼接路径
console.log(path.join('/a', 'b', 'c')); // \a\b\c
console.log(path.join('a', 'b', 'c')); // a\b\c
console.log(path.join('/a', '/b/../c')); // \a\c
console.log(path.join('/a', 'b', 'index.html')); // \a\b\index.html
console.log(path.join(__dirname, 'a', 'index.html')); // 得到一个绝对路径