1.server.js
const http = require('http');
const controller =require('./controller')
const hostname = '127.0.0.1';
const port = 3000;//端口
const server = http.createServer();
server.listen(port,hostname,()=>{
console.log(`Server running at http://${hostname}:${port}/`);
})
server.on('request',(req,res)=>{
if (req.url.startsWith('/css')) {
controller.getCss(req,res)
}else if(req.url.startsWith('/images')){
controller.getImage(req,res)
}else if(req.url.startsWith('/js')){
controller.getJs(req,res)
}else if(req.url === '/index.html'){
controller.getIndex(req,res)
}else if(req.url.startsWith('/getALLData') && (req.method === 'POST'||'GET')){
controller.getALLData(req,res)
}
})
2.controller.js
const fs = require('fs');
const model =require('./model')
const querystring = require('querystring');
module.exports ={
getCss(req,res){
res.writeHead(200,{
"Content-Type":"text/css;charset=utf-8"
})
fs.readFile(__dirname +req.url,(err,data)=>{
res.end(data)
})
},
getImage(req,res){
fs.readFile(__dirname +req.url,(err,data)=>{
res.end(data)
})
},
getJs(req,res){
fs.readFile(__dirname +req.url,(err,data)=>{
res.end(data)
})
},
getIndex(req,res){
fs.readFile(__dirname +'/views/index.html',(err,data)=>{
res.end(data)
})
},
getALLData(req,res){
//post请求获取参数
let data = '';
req.on('data',(chunk)=>{
data += chunk;
});
req.on('end', function () {
data = decodeURI(data);
console.log(data);
var dataObject = querystring.parse(data);
console.log(dataObject);
model.getALLData((err,data)=>{
if(err) console.error(err);
res.end(data)
})
});
//get请求获取参数
let params = req.url.split('?')
if(params.length>1){
params= querystring.parse(params[1])
}
console.log(params)
model.getALLData((err,data)=>{
if(err) console.error(err);
res.end(data)
})
}
}
3.model.js
const fs = require('fs')
module.exports = {
getALLData(callback){
fs.readFile(__dirname+'/data/hero.json','utf-8',(err,data)=>{
callback(err,data)
})
}
}