zoukankan      html  css  js  c++  java
  • 智能云课堂整理

    第一章  原课第 十八

    ————————————————————————————————————2020-02-20

    node开发笔记

    • npm install express mysql express-static body-parser cookie-parser  cookie-session consolidate ejs express-router  multer -d

    新建目录:node-web

    ____________________________________

    libs

    node_modules

    route

      |admin

      |web

    static

    template

      admin

      web

    package.json

    server.js

    ________________________________________2020-02-20 15:00

    安装和引用架构所需组件    server 文件内容中写入

    const express = require('express');

    const static require('express-staitc');

    const bodyParser=require('body-parser');

    const multer=require('multer');

    const cookieParser = require('cookie-parser');

    const cookieSession = require('cookie-session');

    const consolidata = require('consolidata');

    const expressRoute= require('express-route');

    var server = express();

    server.listen(80);

    //获取请求

    server.use(multerObj.any());

    //中间件加入cookie 方便取,写是不需要中间件的

    server.use(cookieParse());

    (function(){

    var keys=[];

    for(var i = 0; i<1000; i++){

      keys[i]="a"+Math.random();

    }

    server.use(cookieSession({

      name: 'sess_id';

      keys: keys,

      maxAge:20*60

    }));

    })();

    //——————————使用模板 模板三步曲

    server.engine('html',consoledata.ejs);

    server.set('views','template');

    server.set('view engine', html)

    // route___________________________________路由使用_

    var user_router = express.Router();

    var admin_router = express.Router();

    server.get('/user/',user_router);

    //+++++++++++++++++++++++++++++++++++++++++使用用户路由

    user_router.use('/XXX',function(req,res){

      res.send('我是用户路由的XXX').end();

    })

    user_router.use('/bbb',function(req,res){

      res.send('我是用户路由的XXX').end();

    })

    //这样一层一层写route 不方便,建议写一个函数放在外面导包

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    示例代码:

    ++++++++++++++++++++++++++++++++++++++++++++

    var r1 = createrouter()       

    server.use('/user/',createRouter());                                             ++

    function createrouter(){

      var router = express.Router()

      router.use('/1.html',function(req,res){

        res,send("ok").end();

    });

      router.use('txtindex',function(req,res){

        res.send('errmmmm').end()

    });

    return router;

    }

    +++++++++++++++++++++++++++++++++++++++++++++

    //当然呢,放在其它包不是更香吗?

    module.export = function(){
    var router = express.router();
    router.use('/index',function(req,res){
    res.end('ok').end()
    
    })
    return ruter;
    }
    View Code

    引用时,var createRouter = require('./route/1.js'),,上面记了要引入  const express = quire('express')

    //|++++++++++++++++++++++管理后台的路由

    admin_router.use('/',function(req,res){

      res.send('我也是文章,但是我是admin的').end();

    })

    ____________________________________________________________2020-02-21

    Route 不能用get  只能用use

    static 静态

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++2020-02-21

    onclick="return confirm('你确定要这样吗?')

    +++++++++++++++++++++++++++++++++++++++++++++++2020-02-21-09:30

    //以下代码纯属练习,复习用记录

    server.use('/',require('/route/web.js'));
    var foo = require('./route/web.js')
    server.use('/',foo)
    +++++++++++++++++++++++++++导包,导入外面路由
    const express require('express')
    module.exports = function(){
    var router=express.Router();
    router.get('/',(req,res)=>{
    res.send('aaa').end()

    })
    }
    +++++++++++++++++++++++ 外理admin登录
    router.use('/',()=>{
    if(req.sesion['admin_id']&&req.url!='/login'){
    res.redirect('/');
    }sele{
    next()
    }
    })
    //get时渲染界面
    router.get('login',(req.res)=>{
    res.render('admin/login.ejs')
    })
    //post 时理数据
    router.post("/login",(req,res)=>{
    var username = req.body.username;
    var password = common.md5(req.body.password+common.Md5_syffix)
    //这儿使用的db需要提前连接
    db.query('select * from admin_table wherh username='${username}');
    (err,data)=>{
    if(err){
    console.error(err);
    res.status(500).send('adatase error').end();
    }else{
    if(data.length==0){
    res.status(400).send('no this admin id ').end();
    }else{
    if(data[0].password == password){
    req.session['admin_id']==data[0].id
    res.redirect('/admin/');
    }

    }else{
    res.status(400).send('this password is incorrect').end();
    }
    }
    }

    })

    return router;
    }
    +++++++++++++++++++++++++++++++++++++md5加密
    const crypto =requie('crypto')
    var md5_syffix = "foo";
    var obj = crypto.createHash)('md5')
    obj.update('123456');
    var str = obj.digest('hex')
    console.log(str)
    +++++++++++++++++++++++++++++++++++++将加密封装成包
    新建一个文件 libs/common.js
    +++++++++++++++++++++++++++++++++++++++++++++++
    const crypto = require('crypto');
    module.exports = {
    md5: function(str){
    var obj = crypto.createHash('md5');
    obj.updata(str)
    return obj.digest('hex');
    }
    }
    //使用的时候只需要
    _____________________________________________________
    const common = require('/libs/common')
    var a = common.md5('12345')
    console.log('a');
    +++++++++++++2020-02-20

    ___________________ javascrip______________________技
    onlick = "return conrirm("你确定吗")
    ++++++++++++++++++++++++++++++++++++++++++++++++
    <a href = "?act=mod&id=<banner[i].id%">
    <a href = "?act=del&id=<%=banners[i].id%>">
    router.get(_'./bandners',(req,res)=>{
    switch(req.query.act){
    case 'mod':
    break;
    case 'del':
    break
    default:
    db.query('select * from banner_table',(err,banners)=>{

    })
    }
    })

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • 相关阅读:
    2018第九届蓝桥杯C/C++ B国赛 —— 第三题:格雷码
    数据结构和算法 —— 谈谈算法
    数据结构和算法 —— 谈谈算法
    数据结构和算法 —— 绪论
    数据结构和算法 —— 绪论
    2018第九届蓝桥杯C/C++ B国赛 —— 第二题:激光样式
    2018第九届蓝桥杯C/C++ B国赛 —— 第二题:激光样式
    2018第九届蓝桥杯C/C++ B国赛 —— 第一题:换零钞
    围棋
    恶搞造句
  • 原文地址:https://www.cnblogs.com/fgxwan/p/12336060.html
Copyright © 2011-2022 走看看