var express = require('express');
var app = express();
app.use('/ode_modules/',express.static('./node_modules/'));
app.use('/public/',express.static('./public/'));
app.engine('html',require('express-art-template'));
app.get('/',function(req,res){
res.render('index.html');
});
app.listen(3000,function(){
console.log('running 3000...');
});
先尝试从文件中获取数据并渲染到页面
{
"students":[
{"id":1,"name":"xx","gender":0,"age":18,"hobbies":"xx、xx、xx"},
{"id":2,"name":"xx","gender":0,"age":18,"hobbies":"xx、xx、xx"},
{"id":3,"name":"xx","gender":0,"age":18,"hobbies":"xx、xx、xx"},
{"id":4,"name":"xx","gender":0,"age":18,"hobbies":"xx、xx、xx"},
{"id":5,"name":"xx","gender":0,"age":18,"hobbies":"xx、xx、xx"}
]
}
var fs = require('fs');
fs.readFile('./db.json','utf8',function(err,data){
if(err){
return res.status(500).send('Server error');
}
res.render('index.html',{
students:JSON.parse(data).students
});
});
路由设计
var express = require('express');
var router = express.Router();
router.get('/studnets',function(req,res){});
router.get('/studnets/new',function(req,res){});
router.get('/studnets/xxx',function(req,res){});
router.get('/studnets/xx',function(req,res){});
router.get('/studnets/xxxx',function(req,res){});
module.exports= router;
var express = require('express');
var router = require('./router');
var bodyParser = require('body-parser');
var app = express();
app.use('/node_modules/',express.static('./node_modules/'));
app.use('/public/',express.static('./publiuc/'));
app.engine('html',require('express-art-template'));
app.use(bodyPares.urlencoded({extended:false}));
app.use(bodyParser.json);
app.use(router);
app.listen(3000,function(){
console.log('xxx');
});
module.exports = app;
设计文件操作模块
var fs = require('fs');
var dbPath = './db.json';
exports.find = function(callback){
fs.readFile(dbPath,'utf8',function(err,data){
if(err){
return callback(err);
}
callback(null,JSON.parse(data).students);
});
}
exports.save = function(student,callback){
fs.readFile(dbPath,'utf8',function(err,data){
if(err){
return callback(err);
}
var studnets = JSON.parse(data).students;
student.id = students[student.length-1].id+1;
students.push(student);
var fileData= JSON.stringfy({students:students});
fs.writeFile(dbPath,fileData,function(err){
if(err){
return callback(err);
}
callback(null);
});
});
}
exports.updateById = function(student,callback){
fs.readFile(dbPath,'utf8',function(err,data){
if(err){
return callback(err);
}
var students = JSON.parse(data).students;
var stu = students.find(function(item){
return item.id === student.id;
});
for(var key in student){
stu[key] = student[key]
}
var fileData = JSON.stringfy({
students:students
});
fs.writeFile(dbPath,fileData,function(err){
if(err){
return callback(err);
}
callback(null);
});
});
}
exports.deleteById = function(id,callback){
fs.readFile(dbPath,'utf8',function(err,data){
if(err){
return callback(err);
}
var students = JSON.parse(data).students;
var deleteId= students.findIndex(function(item){
return item.id === parseInt(id);
});
students.splice(deleteId,1);
var fileData = JSON.stringfy({
students:students
});
fs.writeFile(dbPath,fileData,function(err){
if(err){
return callback(err);
}
callback(null);
});
});
}