最近学习了一点Node.js,做了个图书管理系统的小项目,借此记录。
Express+MongoDB+Handlebars
使用了Bcrypt、BodyParser、Connect-Flash等中间件,实现后端的登录注册、数据库验证、密码加密、图书信息与用户信息存储等功能
项目结构
1.搭建express和nodemon
npm init npm install express --save sudo
npm install -g nodemon
const express = require("express");
const app = express();//实例化对象
app.get("/about",(req,res) => {
//配置路由
res.render("about");
})
const port = process.env.PORT || 5000;//创建一个端口
app.listen(port,() => {
//监听端口
console.log(`Server starting on ${
port}`);
})
2.模板引擎handlebars
npm install express-handlebars
//views->index.handlebars
//views->layouts->main.handlebars
----{ { {body}}}
const exphs = require("express-handlebars") ;
app.engine('handlebars',exphs({
//引入中间件
defaultLayout:'main'
}));
app.set('view engine','handlebars');
3.引入body-parser
npm install body-parser
const bodyParser = require("body-parser");
//body-parser middleware
var jsonParser = bodyParser.json()
var urlencodedParser = bodyParser.urlencoded({
extended: false })
//app.js
router.post("/login",urlencodedParser,(req,res,next) => {
...}
4.校验错误
{
{
#each errors}}
<div class="alert alert-danger">{