>演示代码地址
[pro_init_banner](https://gitee.com/chengbenchao/node/tree/master/04mysql/01pro_init_banner)
~~~
//server.js
const express = require("express");
const bodyParser = require("body-parser");
const multer = require("multer");
const cookieParser = require("cookie-parser");
const cookieSession = require("cookie-session");
const consolidate = require("consolidate");
const mysql = require("mysql");
const server = express();
server.listen(8080);
var arr = [];
for (var i = 0; i < 1000; i++) {
arr.push("keys" + Math.random());
}
var db = mysql.createPool({
host: "localhost",
user: "root",
password: "123456",
database: "blog"
});
db.query();
/* 1.解析cookie */
server.use(cookieParser("qwert"));
/* 2.使用session */
server.use(cookieSession({ name: "zen_id", keys: arr }));
/* 3.post数据 */
server.use(bodyParser.urlencoded({ extended: false }));
server.use(multer({ dest: "./www/assets/" }).any());
/* 4.用户请求 */
server.post("/", function(req, res) {
var newName = req.files[0].path + pathLib.extname(req.files[0].originalname);
fs.rename(req.files[0].path, newName, function(err) {
if (err) {
res.send("上传失败");
} else {
res.send("成功");
}
});
/* 1.获取原始的扩展名
2.重命名
*/
});
server.set("view engine", "html");
server.set("views", "./template");
server.set("html", consolidate.ejs);
server.get("/", function(req, res) {
//查询banner
db.query("SELECT * FROM banner_table", (err, data) => {
if (err) {
res.status(500).send('database erro').end()
} else {
console.log(data)
res.render("index.ejs", { banners:data});
}
});
});
/* static数据 */
server.use(express.static("./www"));
~~~
~~~
//index.ejs
<% for(var i=0;i<banners.length;i++){ %>
<img src="<%= banners[i].src %>" >
<% } %>
~~~
- 0.简介
- 0-1 应用场景
- 0-2 特点
- 0-3 目的
- 1.node
- 第一章 基础语法
- 1-0 开发环境
- 1-1 简单的请求响应
- 1-1-1 http
- 1-2 fs文件模块
- 1-3 事件循环
- 1-3-1 extends
- 1-3-2 给事件处理程序传参
- 1-3-3 once
- 1-3-4 removeEventListener
- 1-4 stream
- 1-5 global全局变量
- 1-6 process
- 1-7 debugger
- 1-8 querystring
- 1-9 url
- 1-9-1 实现一个简单的表单
- 第二章 common-JS
- 1-1 requier规则
- 1-2 exports
- 第三章 基础api
- 3-1 path
- 3-1-1 path
- 3-2 fs
- 3-2 serve-fs实现
- 3-3 http-get
- 3-3-1 http-url
- 3-4 http-post
- 3-4-1
- 第四章 进阶
- 4-1 自定义模块
- 第五章 ESlint
- 5-1 配置
- 第六章 handlebarjs
- 2.koa
- 第一章 起步
- 第二章 路由
- 第1节 get传值及获取
- 第2节 动态路由
- 3.异常
- 4.express
- 第一章 入门安装环境配置
- 1-1 hello world
- 1-2 向前台发送json
- 1-3 use,get,post
- 1-4 express.static
- 1-5 login功能
- 第二章 api
- 2-1 post数据解析
- 2-2 next链式操作
- 2-3 cookie
- 2-3-1 发送签名的cookie
- 2-3-1 读取签名的cookie
- 2-4 session
- 2-4-1 总结
- 第三章 jade
- 3-1 安装
- 3-2 使用
- 3-3 基础语法
- 3-4 进阶
- 3-4-1 模板中使用变量
- 3-4-2 -识别变量
- 3-4-3 for循环
- 3-4-4 if
- 3-4-5 !=原样输出html
- 3-4-6 case-when
- 3-4-7 html模板
- 第四章esj
- 4-1基本语法
- 4-2 进阶
- 第五章 项目整合
- 5-1 文件上传
- 5-2 解析get,post
- 5-3 consolidate
- 5-4 router路由
- 第六章 中间件
- 6-1 跨域
- 5.MySQL
- 5-1 基本
- 5-1-1 数据类型的分类
- 5-2 node操作mysql
- 5-2-1 node查询数据库
- 5-3 基本语法
- 5-3-1 增删改查WHERE
- 5-3-2 ORDER排序
- 5-3-3 GROUP 聚类
- 1-1 DEMO
- 5-3-4 LIMIT-分页
- 6.blog实现
- 6-0 数据字典的设计
- 6-1 读取banner_talbe
- 7.教育网站
- 7-1 server.js模板
- linux命令
- 8.egg.js
- 8-1 起步