模块封装基础

2019-11-19  本文已影响0人  Wrestle_Mania
const http = require("http");
const url = require("url");
const model = require("./model/model.js");

http
  .createServer((req, res) => {
    res.writeHead(200, { "Content-Type": "text/html;charset=utf8" });
    let pathname = url.parse(req.url).pathname.replace("/", "");
    if (pathname !== "favicon.ico") {
      try {
        model[pathname](req, res);
      } catch (e) {
        model["error404"](req, res);
      } finally {
      }
    }
  })
  .listen(8080);
const ejs = require("ejs");
const url = require("url");
const fs = require("fs");

const app = {
  login(req, res) {
    ejs.renderFile("views/form.ejs", {}, (err, str) => {
      if (err) throw err;
      res.end(str);
    });
  },
  register(req, res) {
    res.end("register");
  },
  doLogin(req, res) {
    let { query } = url.parse(req.url, true);
    if (req.method === "GET") {
      res.end("doLogin");
    } else if (req.method === "POST") {
      let str = "";
      req.on("data", chunk => {
        str += chunk;
      });
      req.on("end", (err, data) => {
        if (err) throw err;
        fs.appendFile("fuck.txt", `${str}\n`, err => {
          if (err) throw err;
          console.log("文件写入成功");
        });
        res.end("<script>alert('登录成功');history.back();</script>");
      });
    }
  },
  error404(req, res) {
    res.end("404");
  }
};

module.exports = app;

稍微变的简洁了,但是还不是我想要的

上一篇 下一篇

猜你喜欢

热点阅读