作者:轻酌~浅醉
- fs 是 file-system 的简写,就是文件系统的意思
- 在 Node 中如果想要进行文件操作,就必须引入 fs 这个核心模块
- 在 fs 这个核心模块中,就提供了所有的文件操作相关的 API
例如:fs.readFile 就是用来读取文件的
fs.readFile('./resource/index.html', function (err, data) {
if (err) {
res.setHeader('Content-Type', 'text/plain; charset=utf-8')
res.end('文件读取失败,请稍后重试!')
} else {
// data 默认是二进制数据,可以通过 .toString 转为咱们能识别的字符串
// res.end() 支持两种数据类型,一种是二进制,一种是字符串
res.setHeader('Content-Type', 'text/html; charset=utf-8')
res.end(data)
}
})
- 第一个参数就是要读取的文件路径
- 第二个参数是一个回调函数(第一个参数是错误,第二个是读取到的文件数据)
- 成功
- error: null
- data: 数据
- 失败
- error: 错误对象
- data: undefined没有数据
- 成功
如果读取到的文件为:
<Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 0d 0a>
原因:
- 文件中存储的其实都是二进制数据 0 1
- 这里为什么看到的不是 0 和 1 呢?原因是二进制转为 16 进制了
- 但是无论是二进制01还是16进制,人类都不认识
- 所以我们可以通过 toString 方法把其转为我们能认识的字符
data 默认是二进制数据,可以通过 .toString 转为咱们能识别的字符串
res.end() 支持两种数据类型,一种是二进制,一种是字符串