全栈1--(Node.js:http模块,fs模块)

87 阅读2分钟

http模块

1.用require()获取http模块

2.创建服务器var app = http.createServer((req,res)=>{})

3.设置编码和数据包格式,res.setHeader( ' Content-Type ' , 'text/plain; charset=utf8 ')

4.给前端传输数据res.write("xxx"),可以多次调用

5.res.end()可以传输数据也可以不传输,它是当前这一次网络请求结束的标志,一旦执行了就断开连接

6.req.url 前端给后端发送网络请求的网址"http://ip:port"后面的部分字符串

7.监听app.listen(8081) 端口的意义:ip是访问计算机的标志 端口就可以进入计算机的具体哪一个程序

//获取官方的http模块
var http=require("http");
//创建一个服务器
var app = http.createServer((req,res)=>{
    
    //判断用户的网址
    if (req.url=="/666") {
        //设置数据的头部信息为html文档,编码为utf8
        res.setHeader('Content-Type','text/html;charset=utf8');
        //持续写入数据
        res.write("<h1>6666</h1>")
        //最后一次写入数据包,并断开连接
        res.end("<h1>222</h1>")
    }
});
//监听端口
app.listen(10086);

启动服务器

image.png

输入网址:10086为端口号,/666为网址

image.png

网页页面

image.png

fs模块

1.获取fs模块var fs=require("fs")

2.读取文件fs.readFile(path,(err,data)=>{})

path为路径

err为读取失败

data为读取成功 是一个buffer类型的数据(二进制数据流) 可以通过toString()转化为字符串

3.写入文件(创建文件) fs.writeFile(path ,data,callback(er)),如果文件存在,该方法写入的内容会覆盖旧的文件内容,不存在就创建一个新的。

path文件路径

data要写入文件的数据,可以是 String(字符串)

callback回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

4.删除文件fs.unlink(path,callback(err))

path文件路径。

callback(err)删除回调函数,err错误信息

5.以追加的方式写文件 fs.appendFile(__dirname + '/test.txt', '我会追加到文件内容的末尾', function (er) { console.log('追加内容完成'); })

6.创建目录fs.mkdir(__dirname + '/test', function (err) { if(err) throw err console.log('创建目录成功') })

7.移动/重命名文件或目录:整个功能相当于重命名一个文件/文件夹路径fs.rename(oldPath, newPath, callback);

oldPath, 原目录/文件的完整路径及名;

newPath, 新目录/文件的完整路径及名;如果新路径与原路径相同,而只文件名不同,则是重命名

callback(err), 操作完成回调函数;err操作失败对象

移动文件有一个bug:新路径和旧路径必须是同一个根盘

传一张图片

var http=require("http")
var fs=require("fs")
var app=http.createServer((req,res)=>{
    if (req.url=="/img") {
        fs.readFile("./img/底部按钮/按钮1.png",(err,data)=>{
            if (!err) {
               res.end(data);
            }else{
                res.end("not 404")
            }
        })
    }
})
app.listen(8081)

image.png