目录
[1 加载fs模块对象](#1 加载fs模块对象)
[2 读制定文件内容文件](#2 读制定文件内容文件)
[3 向文件中写入内容](#3 向文件中写入内容)
[1 问题引入](#1 问题引入)
[2 __dirname内置变量](#2 __dirname内置变量)
一:fs模块-读写文件
fs模块封装了与本机文件系统交互方法和属性
1 加载fs模块对象
javascript
const fs = require('fs')//fs是模块标识符:模块名字
fs类似于插件,集成了一定量的方法和属性
2 读制定文件内容文件
javascript
fs.readFile('文件路径',(err,data)=>{
//读取后的回调函数
//data为获取文件内容的Buffer数据流,为16进制数据
//将16进制的Buffer数据流转换成字符串
//data.toString()
})
3 向文件中写入内容
javascript
fs.writeFile('文件路径','写入内容',err=>{
//写入回调函数
})
二:path模块-路径处理
1 问题引入
在Node.js环境下执行的JS代码,是跟据终端所在路径查找文件
eg
在该截图中,利用index.js文件读取imge.txt文件。
在终端为Day01文件夹下运行node命令 node 03/index.js,index.js代码中编写的查找文件路径为../imge.txt.因此在Day01文件夹为终端的父级文件夹下查找imge.txt.
因为imge.txt在Day01文件夹下,所以找不到该文件,出现报错现象
因此,在Node.js代码中,读取文件或者其他操作时,要使用绝对路径进行相应查找
2 __dirname内置变量
作用:获取当前模块文件夹的绝对路径
D:\workSpace\front-end development\nodejs和Webpack\Day01\03
使用方法
1 加载path模块
const path = require('path')
2 使用path.join()方法,拼接路径
path.join('路径1','路径2'....)
path.join()会使用特定于平台的分隔符作为定界符,将所有给定的路径片段连接在一起
javascript
const fs = require('fs')
console.log(__dirname);
const path = require('path')
fs.readFile(path.join(__dirname, '../', 'imge.txt'), (err, data) => {
if (err) console.log(err)
else console.log(data.toString())
})