1.nodejs--http模块、fs模块、控制台常用指令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.http模块

// 引入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("<h1>下课11</h1>")    //string buffer

    }

    else if(req.url=='/car'){

        // 配置返回给用户的数据包的数据格式和编码的类型utf8

        res.setHeader("content-Type","text/html;chartset=utf8")

        // 给前端最后一次发送数据包

        res.end("<h1>上课22</h1>")    //string buffer

    }else if(req.url=="./favirate.co"){

        // 给前端发送一个图标

    }

    else{

         // 配置返回给用户的数据包的数据格式和编码的类型utf8

         res.setHeader("content-Type","text/html;chartset=utf8")

         // 给前端最后一次发送数据包

         res.end("<h1>找不到33</h1>")    //string buffer

    }     

})

// 监听计算机的端口:min-max

appendFile.listen(8081);

2.fs模块

(1)读取文件

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)
})

运行结果:


 

(2)写入文件(创建文件)

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)
})
​​​​​​​运行结果:

 

(3)删除文件

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)
})
运行结果:

(4)以追加方式写文件

fs.appendFile(

        __dirname + '/test.txt',

         '我会追加到文件内容的末尾',

         function (er) { console.log('追加内容完成');

        })

举例:

var fs=require("fs")
//拼接内容到文件
fs.appendFile(__dirname+"/src/b.txt","马上放学",(err)=>{
	console.log(err)
})

运行结果:

(5)创建目录

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);})

运行结果:

(6)移动/重命名文件或目录:整个功能相当于重命名一个文件/文件夹路径

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);
})

运行结果:

 

(7)拷贝文件

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)
})

3.控制台常用命令

(1)在某个文件夹下路径上输入cmd,就会在当前的路径下运行cmd.exe

(2)node xxx.js文件         //用node环境去运行js文件

(3)cls                 //清除控制台屏幕上的打印信息

(4)ctrl+c           //停止程序运行

(5)上下键         //输入过的指令历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值