目录
前情简介
fs是filesystem的缩写,该模块提供本地文件的读写能力
在vue,react等常规项目开发中,由于js不具备对本地文件的写入以及读写的能力,需要借助node来辅助完成对本地文件的读写(ps:比如vue多工程项目,选哟设立一些访问变量进行存储等)
补充拓展
__dirname 表示当前文件所处目录 【不包含当前文件名称】
__filename 表示当前文件所处目录下的当前文件 【包含当前文件名称】
准备工作
1.js代码中进行此项操作,务必将此模块进入引入挂载
2.终端进入对应的目录以后,可在对应的目录下执行node [fileName] 即可进行访问
const fs = require('fs');
常用方法
fs.writeFile(file, data, [options], callback)
该方法对指定的文件进行写入操作
/**
* 向指定文件写入内容(如果该目录下没有该文件,则会进行新建进行写入)
* @param {String} 【必选参数】需要进行写入文件的路径
* @param {String} 【必选参数】 需要进行写入的内容(写入的内容不管是对象还是其他,使用字符串的形式进行拼接)
* @param {String} 【可选参数】以什么编码格式进行读取(默认为utf8)
* @param {Function} 【必选参数】写入完成后,通过回调函数进行数据获取操作(写入成功,er为null,rs为undefined;写入失败,er为异常信息)
*/
fs.writeFile('./test.json',`{time:${new Date().getTime()}}`,'utf8',(er,rs)=>{
console.log(er,rs,'1')
})
fs.readFile(path, [options], callback)
该方法对指定的文件内容进行读取
/**
* 读取指定文件中的内容
* @param {String} 【必选参数】需要进行读取的文件路径
* @param {String} 【可选参数】以什么编码格式进行读取(默认为utf8)
* @param {Function} 【必选参数】读取完成后,通过回调函数进行数据获取操作(读取成功,er为null,rs为读取出来的数据内容;读取失败,er为异常对象,rs为undefined)
* __dirname 表示当前文件所在的目录
*/
fs.readFile(__dirname+'/test.json','utf8',(er,rs)=>{
console.log(rs)
})
fs.unlink(path,callback)
该方法删除指定目录下的某个文件
/**
* 删除文件
* @param {String} 需要进行删除的文件名称
* @param {Function} 删除完成以后的回调
* 删除失败,er则返回对应的错误信息
* 删除成功,没有任何返回
*/
fs.unlink('./node_json_data.json',(er,rs)=>{
console.log(er,rs)
})
fs.mkdir(name,callback)
该方法用于创建目录
/**
* 创建目录
* @param {String} 需要进行创建的目录名称(默认为当前目录下进行创建)
* @param {Function} 创建完成以后的回调
* 创建失败,er则返回对应的错误信息
* 创建成功,er返回null,rs返回undefined
*/
fs.mkdir('views',(er,rs)=>{
console.log(er,rs)
})
fs.rmdir(name,callback)
该方法用于删除目录
/**
* 删除目录
* @param {String} 需要进行删除的目录名称(默认为当前目录下进行处理)
* @param {Function} 删除完成以后的回调
* 删除失败,er则返回对应的错误信息
* 删除成功,er返回null,rs返回undefined
*/
fs.rmdir('views',(er,rs)=>{
console.log(er,rs)
})
fs.exists(path,callback)
该方法用于检测某个目录是否存在
/**
* 检测某个目录是否存在
* @param {String} 需要进行检测的目录
* @param {Function} 验证结果回调(如果该目录不存在,返回false)
*/
fs.exists('./views',(v)=>{
console.log(v)
})
fs.stat(path,callback)
该方法用于检测当前路径指向的内容是文件还是目录
/**
* 检测当前路径指向的内容是文件还是目录
* @param {String} 【必选参数】需要进行检测的路径
* @param {Function}【必选参数】 检测结果回调
* 检测失败,er则返回对应的错误信息
* 检测成功,er返回null,则通过rs中绑定的函数 rs.isFile() || rs.isDirectory() 来进行判断,是否为文件或者目录,返回true则判断结果正确
*/
fs.stat('./node_json_data.json',(er,rs)=>{
// console.log(rs.isFile(),rs.isDirectory())
})