写点什么

Nodejs 内置模块 path 与 fs 模块简单使用

作者:编程江湖
  • 2022 年 2 月 09 日
  • 本文字数:1034 字

    阅读完需:约 3 分钟

NodeJs 中内置了许多有用的模块,无需下载依赖引入即可使用。


// 内置模块 无需下载依赖const fs = require('fs');
复制代码


fs 模块 

用于操作文件/文件夹 例如写入文件,内容追加,创建文件夹,删除文件等多种操作。


上篇文章记录了 nodejs 使用 koa 框架上传图片。


那么既然有了上传,就应该有删除文件。


// 使用同步api  如果文件不存在 异常会报错fs.rmSync('要删除的文件路径');// 也可通过参数 忽略异常fs.rmSync('要删除的文件路径', { force: false })
复制代码


个人使用场景


1,新增数据,上传图片后使用保存后的路径,以及其他参数,保存数据库插入数据。


2,删除或更新数据时,如果之前上传的图片不清理掉,那么时间一长,数据一多,更不可能随意删除,会直接导致数据出问题。


所以,我选择了删除/更新数据库数据之后,同时删除/更新对应的文件。少占用存储空间,也减少垃圾文件。


// 引入path模块const path = require('path');
复制代码


path 模块

用于对路径执行一些格式化(根据系统环境),又如路径拼接等操作。


path.basename

// 获取目录路径下文件path.basename('/文件夹/文件夹/图片.jpg'); // 返回 图片.jpg// 也可只保留文件名称 去除后缀名 第二个参数 要去除的尾部部分path.basename('/文件夹/文件夹/图片.jpg', '.jpg'); // 返回 图片
复制代码


path.dirname

// 返回目录路径path.dirname('/目录1/目录2/目录3'); // 返回 目录2path.dirname('/目录1/目录2/目录3/');// 返回 目录2path.dirname('/目录1/目录2/目录3/图片.jpg');// 返回 目录3
复制代码


path.extname

// 获取扩展名 (也可理解为 小数点最后出现的位置一直到字符串结尾)path.extname('/public/img/a.jpg'); // 返回 .jpgpath.extname('/public/img/b.html'); // 返回 .html// 如果小数点出现在第一位且之后没有小数点 返回空字符串path.extname('./abc'); // 返回 ''// 如果小数点出现在最后 只返回小数点path.extname('index.'); 返回 .
复制代码


path.join

// 最常用的拼接 (格式跟随当前系统环境)path.join('/目录1', '目录2', '目录3'); // /目录1/目录2/目录3// 也可获取当前执行脚本的目录 与其他位置拼接// 假设当前处于 /home/目录2  且/home下存在 目录1path.join(__dirname, '../目录1');  返回 /home/目录1path.join(__dirname, '../');  返回 /hom
复制代码


全局变量


__dirname  当前文件夹具体路径 例如 /home


__filename 当前文件具体路径 例如 /home/index.js


以上是两个模块 常用的方式。


具体还是要根想实现的功能有直接关系。


关键词:前端培训

用户头像

编程江湖

关注

IT技术分享 2021.11.23 加入

还未添加个人简介

评论

发布
暂无评论
Nodejs内置模块path与fs模块简单使用