Express图书管理案例
目录结构
自定义一个包 library
打开cmd,初始化、安装所需要的功能模块, 不了解这些模块可以在 npm 查询
npm init -y
npm install express art-template body-parser express-art-template --save
index.js 主体配置
1. 导入模块
// 图书管理系统-入口文件
// 导入需要的模块
const express = require('express');
const template = require('art-template');
const bodyParser = require('body-parser');
const path = require('path');
const app = express();
2. 启动静态资源模块
//启动静态资源模块
app.use('/www',express.static('public'));
3. 设置模板引擎
// 设置模板的路径
app.set('views',path.join(__dirname,'views'));
// 设置模板引擎,定义模板的后缀名
app.set('view engine','art');
// 使express兼容art-template模板引擎
app.engine('art', require('express-art-template'));
4. 处理请求参数
//处理请求参数
// 挂载参数处理中间件(post)
app.use(bodyParser.urlencoded({
extended: false }));
// 处理json格式的参数
app.use(bodyParser.json());
5. 启动服务器功能
//启动服务器功能
//配置路由
app.use(router);
//监听端口
app.listen(3000,()=>{
console.log('running...');
});
router.js 路由模块
1. 导入模块
const express = require('express');
const router = express.Router();
const service = require('./service.js');
2. 路由处理
//渲染主页
router.get('/',service.showIndex);
//添加图书(跳转到添加图书的页面)
router.get('/toAddBook',service.toAddBook);
//添加图书(提交表单)
router.post('/addBook',service.addBook)
//跳转到编辑图书信息页面
router.get('/toEditBook',service.toEditBook);
// 编辑图书提交表单
router.post('/editBook',service.editBook);
// 删除图书信息
router.get('/deleteBook',service.deleteBook);
// 导出路由模块,供 index.js 里面的app.use(router)使用
module.exports