zoukankan      html  css  js  c++  java
  • nodeJs学习-17 博客案例

      源码:智能社视频20节课件

    const express=require('express');
    const static=require('express-static');
    const cookieParser=require('cookie-parser');
    const cookieSession=require('cookie-session');
    const bodyParser=require('body-parser');
    const multer=require('multer');
    const consolidate=require('consolidate');
    const mysql=require('mysql');
    
    //连接池
    const db=mysql.createPool({host: 'localhost', user: 'root', password: 'AiTing521', database: 'blog'});
    
    var server=express();
    server.listen(8080);
    
    //1.解析cookie
    server.use(cookieParser('sdfasl43kjoifguokn4lkhoifo4k3'));
    
    //2.使用session
    var arr=[];
    for(var i=0;i<100000;i++){
      arr.push('keys_'+Math.random());
    }
    server.use(cookieSession({name: 'zns_sess_id', keys: arr, maxAge: 20*3600*1000}));
    
    //3.post数据
    server.use(bodyParser.urlencoded({extended: false}));
    server.use(multer({dest: './www/upload'}).any());
    
    //4.配置模板引擎
    //输出什么东西
    server.set('view engine', 'html');
    //模板文件放在哪儿
    server.set('views', './template');
    //哪种模板引擎
    server.engine('html', consolidate.ejs);
    
    //接收用户请求
    server.get('/', (req, res)=>{
      //查询banner的东西
      db.query("SELECT * FROM banner_table", (err, data)=>{
        if(err){
          console.log(err);
          res.status(500).send('database error').end();
        }else{
          console.log(data);
          res.render('index.ejs', {banners: data});
        }
      });
    });
    
    //4.static数据
    server.use(static('./www'));

    源码:智能社视频21/22节课件

    const express=require('express');
    const static=require('express-static');
    const cookieParser=require('cookie-parser');
    const cookieSession=require('cookie-session');
    const bodyParser=require('body-parser');
    const multer=require('multer');
    const consolidate=require('consolidate');
    const mysql=require('mysql');
    const common=require('./libs/common');
    
    //连接池
    const db=mysql.createPool({host: 'localhost', user: 'root', password: 'AiTing521', database: 'blog'});
    
    var server=express();
    server.listen(8080);
    
    //1.解析cookie
    server.use(cookieParser('sdfasl43kjoifguokn4lkhoifo4k3'));
    
    //2.使用session
    var arr=[];
    for(var i=0;i<100000;i++){
      arr.push('keys_'+Math.random());
    }
    server.use(cookieSession({name: 'zns_sess_id', keys: arr, maxAge: 20*3600*1000}));
    
    //3.post数据
    server.use(bodyParser.urlencoded({extended: false}));
    server.use(multer({dest: './www/upload'}).any());
    
    //4.配置模板引擎
    //输出什么东西
    server.set('view engine', 'html');
    //模板文件放在哪儿
    server.set('views', './template');
    //哪种模板引擎
    server.engine('html', consolidate.ejs);
    
    //接收用户请求
    server.get('/', (req, res, next)=>{
      //查询banner的东西
      db.query("SELECT * FROM banner_table", (err, data)=>{
        if(err){
          res.status(500).send('database error').end();
        }else{
          res.banners=data;
    
          next();
        }
      });
    });
    server.get('/', (req, res, next)=>{
      //查询文章列表
      db.query('SELECT ID,title,summary FROM article_table', (err, data)=>{
        if(err){
          res.status(500).send('database error').end();
        }else{
          res.articles=data;
    
          next();
        }
      });
    });
    server.get('/', (req, res)=>{
      res.render('index.ejs', {banners: res.banners, articles: res.articles});
    });
    
    server.get('/article', (req, res)=>{
      if(req.query.id){
        if(req.query.act=='like'){
          //增加一个赞
          db.query(`UPDATE article_table SET n_like=n_like+1 WHERE ID=${req.query.id}`, (err, data)=>{
            if(err){
              res.status(500).send('数据库有小问题').end();
              console.error(err);
            }else{
              //显示文章
              db.query(`SELECT * FROM article_table WHERE ID=${req.query.id}`, (err, data)=>{
                if(err){
                  res.status(500).send('数据有问题').end();
                }else{
                  if(data.length==0){
                    res.status(404).send('您请求的文章找不到').end();
                  }else{
                    var articleData=data[0];
                    articleData.sDate=common.time2date(articleData.update_time);
                    articleData.content=articleData.content.replace(/^/gm, '<p>').replace(/$/gm, '</p>');
    
                    res.render('conText.ejs', {
                      article_data: articleData
                    });
                  }
                }
              });
            }
          });
        }else{
          //显示文章
          db.query(`SELECT * FROM article_table WHERE ID=${req.query.id}`, (err, data)=>{
            if(err){
              res.status(500).send('数据有问题').end();
            }else{
              if(data.length==0){
                res.status(404).send('您请求的文章找不到').end();
              }else{
                var articleData=data[0];
                articleData.sDate=common.time2date(articleData.update_time);
                articleData.content=articleData.content.replace(/^/gm, '<p>').replace(/$/gm, '</p>');
    
                res.render('conText.ejs', {
                  article_data: articleData
                });
              }
            }
          });
        }
      }else{
        res.status(404).send('您请求的文章找不到').end();
      }
    });
    
    
    
    //4.static数据
    server.use(static('./www'));
  • 相关阅读:
    猪猪的机器学习笔记(八)聚类
    猪猪的机器学习笔记(七)最大熵模型
    猪猪的机器学习笔记(九)推荐系统
    标签button:点击button按钮时,出现了页面自动刷新的情况
    SQL案例
    SQL学习记录:函数(二)
    SQL学习记录:定义(一)
    C# 后台报错输出到日志
    DateTime 时间类型总结(前端)
    笛卡尔积的使用
  • 原文地址:https://www.cnblogs.com/LChenglong/p/11897029.html
Copyright © 2011-2022 走看看