文件操作关键字:
http('fs') —— 请求 node 里面的 http 模块
readFile —— 读文件,参数包括 文件名,回调函数
writeFile —— 写文件,参数包括 文件名,修改的内容,回调函数
先看一下文件目录:

来个新鲜出炉的 关于readFile 的栗子:
const fs = require('fs');
//readFile(文件名,回调函数)
fs.readFile('aaa.txt',function (err,data) {
if(err){
console.log('读取失败');
}else{
console.log(data);
}
});
aaa.txt里面的内容如下图:
此时我们执行fs.js,返回结果如下图:
这里的Buffer表示输出的是 原始的二进制数,我们可能通过 data.toString()返回实际的字符串。
再来个色香味具全的 关于wtriteFile 的栗子:
//writeFile(文件名,修改的内容,回调函数)
fs.writeFile('bbb.txt','快滚去学习',function (err) {
console.log(err);
})
bbb.txt里面的内容如下图:
此时我们执行该js之后,可以看到bbb.txt里面的文字变成了 “快滚去学习”。
fs这样使用没有任何意义,上面2个例子只是为了加深对readFile及writeFile的理解。我们应该跟数据库绑定到一起使用才能发挥它的价值。上一节我们讲了如何搭建服务器。
我们怎么将fs与createServer结合起来呢?
上代码:
const http=require('http');
const fs=require('fs'); var server=http.createServer(function(req,res){
var file_name='./www'+req.url; fs.readFile(file_name,function(err,data){
if(err){
res.write('读取失败');
}else{
res.write(data);
}
res.end()
})
}); server.listen(8090)
目录结构如下图:
a.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
div{width: 100px;height: 100px;background-color: #ccc}
</style>
</head>
<body>
<div> </div>
</body>
</html>
浏览器里面输入:http://localhost:8090/a.html
返回结果如下: