zoukankan      html  css  js  c++  java
  • 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);
    本想把日子过成诗,时而简单,时而精致,不料日子却过成了一首歌,时而不靠谱,时而不着调
  • 相关阅读:
    【转】Mybatis常见面试题总结
    【转】深入分析@Transactional的用法
    刷抖音极速版,大家一起来赚钱
    公司喜欢什么样的员工呢?
    边学习新技术边工作的重要性
    聊聊IT行业加班的问题
    软件工程师怎样减轻工作过程中遇到的压力
    如何找兼职工作
    常用的网址导航
    几家主要的配送(跑腿)服务提供商
  • 原文地址:https://www.cnblogs.com/chuanq/p/12125289.html
Copyright © 2011-2022 走看看