Node| 青训营笔记

67 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

Node|青训营笔记

一、Node搭建服务器

const port = 3000;
/*
 *一、每次接受到http请求时,这个server就会被触发
 *二、客户端传递的数据都在req中
 *三、可以通过res将数据返回到客户端
 */
const server = http.createServer((req, res) => {
  res.end("hello");
});
//.listen函数就是当端口成功被部署(监听)时调用
server.listen(port, () => {
  console.log(`server listens on:${port}`);
});

二、了解req与res

const port = 3000;
/*
 *一、每次接受到http请求时,这个server就会被触发
 *二、客户端传递的数据都在req中
 *三、可以通过res将数据返回到客户端
 */
const server = http.createServer((req, res) => {
  const bufs = [];
  req.on("data", (buf) => {
    bufs.push(buf);
  });
  req.on("end", () => {
    const buf = Buffer.concat(bufs).toString("utf-8");
    let msg = "hello";
    try {
      const ret = JSON.parse(buf);
      msg = ret.msg;
    } catch (err) {
      // res.end("invalid json");
    }
    const responseJSON = {
      msg: `receiver:${msg}`,
    };
    res.setHeader("Content-type", "application/json");
    res.end(JSON.stringify(responseJSON));
  });
});
//.listen函数就是当端口成功被部署(监听)时调用
server.listen(port, () => {
  console.log(`server listens on:${port}`);
});

三、实际网络请求开发

const body = JSON.stringify({ msg: "sjkuuuuuuuuu" });
const req = http.request(
  "http://127.0.0.1:3000",
  {
    method: "POST",
    headers: {
      "Content-type": "application/json",
    },
  },
  (res) => {
    const bufs = [];
    res.on("data", (buf) => {
      bufs.push(buf);
    });
    res.on("end", () => {
      const buf = Buffer.concat(bufs);
      const json = JSON.parse(buf);
      console.log("json.msg:", json.msg);
    });
  }
);
req.end(body);

四、归纳总结

本次课程主要通过讲述Node.js搭建服务器的例子,申引出前端开发中有关于网络请求的部分,并且还介绍了关于V8引擎调试工具的使用方法,正如课程中讲师所讲的一样,当你会使用调试工具对一门语言进行调试debug时,你才算真正学会了这门语言,因此在接下来的时间里我仍然需要加强对在前端中网络请求的了解以及一些便捷的调试工具的学习与使用,以便于后续大规模开发中迅速反应