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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值