likes
comments
collection
share

http模块、fs模块

作者站长头像
站长
· 阅读数 48

http模块

nodejs的特点之一就是模块化,而http就是创建一个服务器

var http = require("http");

这个代码表示引入了一个http模块,有了这个模块就可以创建一个服务器对象。

var http = require("http");
http.createServer(function (req, res) {});

这个方法就创建的了一个服务器;方法发参数是一个回调函数,这个回调函数有两个参数,第一个参数是前端也就是用户端向后端发送的网络请求,第二个参数是后端向前端返回的数据。前端每访问一次这个IP端口就会调用一次这个函数。

var http = require("http");
var app = http.createServer(function (req, res) {
  if (req.url == "/app") res.end("<h1>Hello, world!</h1>");
});
app.listen(8081);

req.url是用户向服务器发送的网址,也就是说用户在浏览器上输入服务器的(ip:端口号/app),就能访问到res.end方法发送的内容。

http模块、fs模块

在vs-code中找到这个js文件,鼠标右键

http模块、fs模块

点击在集成终端打开

http模块、fs模块

弹出这个界面,然后输入node (这个文件的名字)后按enter。这个服务器就开启了。

http模块、fs模块

然后再系统设置的网络中找到IPv4地址,这个地址就是服务器的IP

http模块、fs模块

再浏览器上输入这一行就可以访问到res.end的内容。这个前面的192.168.6.150是服务器的IP,:8081是端口号,也就是上面app.listen(8081);这一行代码监听的数字,/app就是向服务器发送的req.url。

http模块、fs模块

因为res.end发送的是 <h1>Hello, world!</h1>,所有浏览器会把这个解析成h1标签。

fs模块

fs模块是用于操作服务器文件的模块,我们可以再用户发起网络请求后将文件发送给用户端。

var http = require("http");
var fs = require("fs"); //请求一个fs模块
var app = http.createServer(function (req, res) {
  fs.readFile("./canvas.html", function (err, data) {
    if (req.url == "/") {
      res.end(data);
    } else {
      res.end("404 Not Found");
    }
  });
});
app.listen(8081);

在获取到这个fs模块后,我们可以在服务器里面调用这个fs.readFile方法。这个方法就是读取文件的,它有两个的参数,第一个是文件路径;第二个参数是一个回调函数,函数也有两个参数,第一参数是请求出错时吵产生的数据,第二个参数时请求成功时产生的数据。请求成功就把这个文件解析成二进制码,就是第二个参数。

url是"/"

http模块、fs模块

url不是"/"

http模块、fs模块

转载自:https://juejin.cn/post/7125378947717529614
评论
请登录