提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
// 引入node自带的模块http,这个模块可以调用函数来创建后端服务器
var http=require("http")
// 创建一个服务器对象,回调函数不会直接运行,会在用户每次访问当前计算机的ip下的8081端口
http.createServer((req,res)=>{
console.log(req.url);
if(req.url=="/home"){
// 配置返回给用户的数据包的数据格式和编码的类型utf8
res.setHeader("content-Type","text/html;chartset=utf8")
// 给前端最后一次发送数据包
res.end("
下课11
") //string buffer}
else if(req.url=='/car'){
// 配置返回给用户的数据包的数据格式和编码的类型utf8
res.setHeader("content-Type","text/html;chartset=utf8")
// 给前端最后一次发送数据包
res.end("
上课22
") //string buffer}else if(req.url=="./favirate.co"){
// 给前端发送一个图标
}
else{
// 配置返回给用户的数据包的数据格式和编码的类型utf8
res.setHeader("content-Type","text/html;chartset=utf8")
// 给前端最后一次发送数据包
res.end("
找不到33
") //string buffer}
})
// 监听计算机的端口:min-max
appendFile.listen(8081);
fs.readFile(path,(err,data)=>{ })
(1)path 填路径 可以绝对可以相对
(2)err代表读取失败
(3)data代表读取成功 它是一个buffer类型的数据(二进制数据流) 可以通过toString()转化为字符串
注意:res.end()方法接受 字符串或者buffer
举例:
var fs=require("fs") //读取文件 buffer fs.readFile(__dirname+"/src/movie.mp4",(err,data)=>{ console.log("movie",data) }) fs.readFile(__dirname+"/src/a.txt",(err,data)=>{ console.log("a",data) }) fs.readFile(__dirname+"/src/18.jpg",(err,data)=>{ console.log("18",data) })运行结果:
fs.writeFile(path ,data,callback(er))
如果文件存在,该方法写入的内容会覆盖旧的文件内容,不存在就创建一个新的
(1) path - 文件路径
(2)data - 要写入文件的数据,可以是 String(字符串)
(3)callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。
案例1:
运行结果:
var fs=require("fs") //写入文件信息 fs.writeFile(__dirname+"/src/a.txt","hello",function(err){ console.log(err) })
案例2:
var fs=require("fs") //创建并写入文件信息:如果文件不存在 就会创建 fs.writeFile(__dirname+"/src/b.txt","hello666",function(err){ console.log(err) })运行结果:
案例3:运行结果:
var fs=require("fs") //如果文件夹不存在 就会报错 fs.writeFile(__dirname+"/src1/b.txt","hello666",function(err){ console.log(err) })
fs.unlink(path,callback(err))
(1)path - 文件路径。
(2)callback(err) - 删除回调函数,err错误信息
举例:
运行结果:
var fs=require("fs") fs.unlink(__dirname+"/src/a.txt",(err)=>{ console.log(err) })
fs.appendFile(
__dirname + '/test.txt',
'我会追加到文件内容的末尾',
function (er) { console.log('追加内容完成');
})
举例:
var fs=require("fs") //拼接内容到文件 fs.appendFile(__dirname+"/src/b.txt","马上放学",(err)=>{ console.log(err) })运行结果:
fs.mkdir(
__dirname + '/test',
function (err) { if(err) throw err console.log('创建目录成功') })
举例:
var fs=require("fs") fs.mkdir(__dirname+"/src/b.jpg",(err)=>{console.log(err);})运行结果:
fs.rename(oldPath, newPath, callback);
(1)oldPath, 原目录/文件的完整路径及名;
(2)newPath, 新目录/文件的完整路径及名;如果新路径与原路径相同,而只文件名不同,则是重命名 callback(err), 操作完成回调函数;err操作失败对象
(3)移动文件有一个bug:新路径和旧路径必须是同一个根盘
举例1:
var fs=require("fs") var oldpath=__dirname+"/src/a/b" var newpath=__dirname+"/src/a/c" fs.rename(oldpath,newpath,(err)=>{ console.log(err); })
举例2:
var fs=require("fs") var oldpath=__dirname+"/src/a/b.txt" var newpath=__dirname+"/src/a/c.js" //注意:fs.rename的bug==>oldpath,newpath不是同一个根盘操作会失败 fs.rename(oldpath,newpath,(err)=>{ console.log(err); })运行结果:
fs.copy(oldPath, newPath, callback);
(1)oldPath, 原文件的完整路径;
(2)newPath, 新文件的完整路径;
(3)callback(err), 操作完成回调函数;
(4)err操作失败对象
(5)拷贝文件以后两个文件都会存在磁盘中
举例:
var fs=require("fs") // 拷贝 var oldpath=__dirname+"/src/18.jpg" var newpath=__dirname+"/src/a/18.jpg" fs.copyFile(oldpath,newpath,(err)=>{ fs.unlink(oldpath,()=>{}) })读取目录
var fs=require("fs") fs.readdir(__dirname+"/src",(err,arr)=>{ console.log(err,arr) })
(1)在某个文件夹下路径上输入cmd,就会在当前的路径下运行cmd.exe
(2)node xxx.js文件 //用node环境去运行js文件
(3)cls //清除控制台屏幕上的打印信息
(4)ctrl+c //停止程序运行
(5)上下键 //输入过的指令历史