web框架express学习三

// var url = require("url");
// var parsedURL = url.parse("http://www.example.com/profile?name=barry");
// console.log(parsedURL.protocol);  // "http:"
// console.log(parsedURL.host);       // "www.example.com"
// console.log(parsedURL.query);     // "name=barry
// Returns "Hello, Nicholas Cage!"
// ====================================

// npm install Mustache --save
// var Mustache = require('mustache')
// var aa = Mustache.render("Hello, {{first}} {{last}}!", {
//   first: "Nicholas",
//   last: "Cage"
// });
// console.log(aa)
// ====================================

// var fs = require("fs");
// var options = { encoding: "utf-8" };
// fs.readFile("text.txt", options, function(err, data) {
//   if (err) {
//     console.error("Error reading file!");
//     return;
//   }
//   console.log(data);
// });
// ====================================

// var http = require("http");
// function requestHandler(request, response) {
// response.writeHead(200, {"Content-Type": "text/plain"})
//   let type = request.url;
//   if(type == "/index"){
//     response.end('wellcome index')
//   } else if(type == "/home"){
//     response.end('wellcome home')
//   }else{
//     response.end('404')
//   }
//   console.log(`request to ${type}`);
// }
// var server = http.createServer(requestHandler);
// server.listen(3800);
// ====================================

// npm install express --save
// npm install morgan --save  日志
// cnpm install file-stream-rotator --save
var express = require("express");
var logger = require("morgan");
var FileStreamRotator = require("file-stream-rotator");
var fs = require("fs");
var http = require("http");
var app = express();
var logDirectory = __dirname + "/log";
fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory);
var accessLogStream = FileStreamRotator.getStream({
  date_format: "YYYYMMDD",
  filename: logDirectory + "/%DATE%.log",
  frequency: "daily",
  verbose: false
});
app.use(logger("combined", { stream: accessLogStream }));

// 当前目录创建access.log打印所有请求
// var accessLogStream = fs.createWriteStream(__dirname + '/access.log', {flags: 'a'});
// app.use(logger('combined', {stream: accessLogStream}));

// 自定义日志记录中间件
app.use(function(request, response, next) {
  console.log("In comes a " + request.method + " to " + request.url);
  next();
});
//发送实际响应
app.use((request, response, next) => {
  response.writeHead(200, { "Content-Type": "text/plain" });
  let minutes = new Date().getMinutes();
  // 中间件自上而下执行通过next过渡
  if (minutes % 2 === 0) {
    next();
  } else {
    response.statusCode = 403;
    response.end("Not authorized.");
  }
});
app.use(function(request, response) {
  if (request.url == "/") {
    response.end("Hello qinhuansky");
  } else if (request.url == "/home") {
    response.end("wellcome home");
  } else {
    response.end("404");
  }
});
http.createServer(app).listen(3800);
posted @ 2019-12-31 16:51  qinhuansky  阅读(184)  评论(0编辑  收藏  举报