Node学习(二)01-node核心模块之path模块——extname()-获取文件后缀 & join()-智能拼接路径
2.3 node核心模块
模块是Node.js 平台自带的一套基本的 API(功能模块)。
2.3.1 path模块
处理路径的模块
- http://nodejs.cn/api/path.html
- 操作文件的时候经常要对文件的路径做处理,或者获取文件的后缀,使用
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')); // 得到一个绝对路径
-