快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → nodejs+express文件操作实现小型学生管理系统(增删改查)-纯享版

nodejs+express文件操作实现小型学生管理系统(增删改查)-纯享版

时间:2022-09-28 14:51:32人气:作者:快盘下载我要评论


实现文件数据更新功能

用来放置一些不希望被用户看见,但是需要被提交到服务端的数据

nodejs+express文件操作实现小型学生管理系统(增删改查)-纯享版


因为读取的文件信息,然后他的类型是字符串,切记

…………………………
student.id = parseInt(student.id);
var stu = students.find(function (item) {
return item.id === student.id
})

app.js

var express = require('express');
var path = require('path');
var router = require(path.join(__dirname, './router'));
// 引包
var bodyParser = require('body-parser');

var server = express();

server.engine('html', require('express-art-template'));
server.set('views', path.join(__dirname, 'views'));

server.use('/node_modules/', express.static(path.join(__dirname, './node_modules/')));
server.use('/public/', express.static(path.join(__dirname, './public/')));


server.use(bodyParser.urlencoded({ extended: false }))
.use(bodyParser.json())


server.use(router);

server.listen(3000, function () {
console.log('Run Server 3000……');
})

router.js

// 路由模块设计集合

var fs = require('fs');
var path = require('path');
var Student = require('./student');

var express = require('express');

var router = express.Router();

router.get('/students', function (req,) {

Student.find(function (err,) {
if (err) {
return res.status(500).send('Server error.');
}
res.render('index.html', {
students: students
});
})
})
router.get('/students/new', function (req,) {
res.render('new.html');
})
router.post('/students/new', function (req,) {

var student = req.body;
Student.save(student, function (err) {
if (err) {
return res.status(500).send('Server error.');
}
res.redirect('/students');
})

})
router.get('/students/edit', function (req,) {

Student.findId(parseInt(req.query.id), function (err,) {
if (err) {
return res.status(500).send('Server error.');
}

res.render('edit.html', {
student: student
})
})

})
router.post('/students/edit', function (req,) {

Student.updataByid(req.body, function (err) {
if (err) {
return res.status(500).send('Server error.');
}
})
res.redirect('/students')
})
router.get('/students/delete', function (req,) {

Student.deleteByid(req.query.id, function (err) {
if (err) {
return res.status(500).send('Server error.');
}
res.redirect('/students')
})
})


module.exports = router;

student.js

var fs = require('fs');
var path = require('path');
var dbPath = './db.json';

exports.find = function (callback) {
fs.readFile(path.join(__dirname, dbPath), 'utf8', function (err,) {
if (err) {
return callback(err)
}
callback(null, JSON.parse(data).student)

})
}

exports.save = function (Nstudent,) {
fs.readFile(path.join(__dirname, dbPath), 'utf8', function (err,) {
if (err) {
return callback(err)
}
var students = JSON.parse(data).student;

Nstudent.id = students[students.length - 1].id + 1;

students.push(Nstudent);

var fileData = JSON.stringify({
student: students
})
fs.writeFile(path.join(__dirname, dbPath), fileData, function (err) {
if (err) {
return callback(err)
}
callback(null);

});
})
}

exports.updataByid = function (student,) {
fs.readFile(path.join(__dirname, dbPath), 'utf8', function (err,) {
if (err) {
return callback(err)
}
var students = JSON.parse(data).student;

student.id = parseInt(student.id);

var stu = students.find(function (item) {
return item.id === student.id
})

for (var key in student) {
stu[key] = student[key];
}
var fileData = JSON.stringify({
student: students
})
fs.writeFile(path.join(__dirname, dbPath), fileData, function (err) {
if (err) {
return callback(err)
}
callback(null);
})

})
}
exports.findId = function (id,) {
fs.readFile(path.join(__dirname, dbPath), 'utf8', function (err,) {
if (err) {
return callback(err)
}
var students = JSON.parse(data).student;
var ret = students.find(function (item) {
return item.id === parseInt(id)
})
callback(null, ret);
})
}
exports.deleteByid = function (id,) {
fs.readFile(path.join(__dirname, dbPath), 'utf8', function (err,) {
if (err) {
return callback(err)
}
var students = JSON.parse(data).student;

var deleteID = students.findIndex(function (item) {
return item.id === parseInt(id);
})

students.splice(deleteID, 1);

var fileData = JSON.stringify({
student: students
})

fs.writeFile(path.join(__dirname, dbPath), fileData, function (err) {
if (err) {
return callback(err)
}
callback(null);
})

})
}


相关文章

  • 安卓浏览器横评_flash浏览器

    安卓浏览器横评_flash浏览器,近日国外媒体Android Authority就对全球使下载最大的11款手机浏览器进行了性能方面的横向评测,相信在看完后,你能够从中找到更适合自己的手机浏览器。......
  • 【老男孩Linux技术分享】5分钟带你搞懂日志采集利器Filebeat!

    【老男孩Linux技术分享】5分钟带你搞懂日志采集利器Filebeat!,filebeat是用于"转发"和"集中日志数据"的轻量级数据采集器。filebeat会监视指定的日志文件路径,收集日志事件并将数据转发到elasticsearch,logstash,redis,kafka存储服务器。当您要面对成百上千,甚至成千上万的服务器,虚拟机的容器生成的日志时,请告别SSH吧。Filebeat将为您提供一种轻量级方法,用于转发和汇总日志与文件,让简单的事情不再...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。