nodejs创建图书管理系统

本文介绍了如何使用Node.js和JSON文件创建一个简单的图书管理系统。文章涵盖了从搭建三层架构(index.js、router.js、service.js),到实现路由分配、业务逻辑处理,以及后期通过连接MySQL数据库进行数据操作的过程。在数据库部分,特别提到了需要避免使用内置关键字作为字段名,并展示了如何优化代码以减少重复。
摘要由CSDN通过智能技术生成

在json文件中实现

(1) 使用json
使用三层架构 去写
第一层: index.js
第二层: router.js 路由封装
第三层: service.js 业务逻辑
文件位置

创建主入口文件index.js

//引入相应模块
const express = require('express');
const bodyParser = require('body-parser');
const router = require('./routers/router1');
const path = require('path');
const app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static('views'));
//  express  兼容 art-template  模板引擎
// 设置模板引擎的路径
app.set('views',path.join(__dirname, 'views'));
// 设置模板引擎
app.set('view engine','art');
// 安装express-art-template
app.engine('art', require('express-art-template'));

// 路由规划设计   get   post
// 使用配置路由
app.use(router);

app.listen(3000, () => { 
    console.log('runnning.......');
})

主入口文件写好后,后续就不需要进行改动

路由分配层

const express = require('express')
// 设置对于路由的处理的方法   Router()内置的路由处理的中间件
const router = express.Router()
const service = require('../service/service')
//显示json中的信息
router.get('/',service.showbook)
//跳转到添加书籍的页面
router.get('/toAddBook',service.toaddbook)
//提交书籍
router.post('/addbook',service.addbook)
//跳转到修改文件的页面
router.get('/toEditBook',service.toeditbook)
//提交修改的数据
router.post('/editbook',service.editbook)
//删除数据
router.get('/deleteBook/:id',service.deletebook)
//module.exports 提供了暴露接口的方法
module.exports = router

路由分配层编写时要注意路由名称要与art文件中对应

业务逻辑层

const data = require('../data.json')
const fs = require('fs')
const path = require('path')
//把主文件渲染到页面
exports.showbook=(req,res)=>{
    res.render('index',{list:data})
}
//将添加书籍的文件渲染到页面
exports.toaddbook=(req,res)=>{
    res.render('addbook')
}
//提交添加的数据,并写入json文件
exports.addbook=(req,res)=>{
    //获取提交的信息
    let info = req.body;
    let arr = [];
    data.forEach((i)=>{
        arr.push(i.id)
    })
    let max = Math.max.apply(null,arr)
    info.id=max+1;
    console.log(info);
    //将info中的数据写入data常量中
    data.push(info)
    //将data中的数据写入json文件
    fs.writeFile(path.join(__dirname,'../data.json'),JSON.stringify(data),(err)=>{
        if(err){
            res.send('服务错误')
        }
        //写入成功的话就返回主页面
        res.redirect('/')
    })
}
//将修改渲染到页面,并将想要修改的数据显示到相应位置
exports.toedi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值