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'));

浙公网安备 33010602011771号