智能云课堂整理

第一章  原课第 十八

————————————————————————————————————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)=>{

})
}
})

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

原文地址:https://www.cnblogs.com/fgxwan/p/12336060.html