nodeJs写一个新增事件代办项程序
收藏
0 1
创建一个01.js;
引入nodejs的http模块;
并监听8000端口
let http = require('http');
let list = require('./listFn');
let server = http.createServer( (req, res) => {
console.log(req.url);
if ('/' == req.url){
switch (req.method){
case 'GET' :
list.show(res);
break;
case 'POST' :
list.add(req, res);
break;
default:
list.badRequest(res);
}
}else{
list.notFound(res);
}
});
server.listen(8000);
0 2
创建一个 再创建一个listFn.js,写事件,并在01js里引用listFn.js
let qs = require('querystring');
let items = [];
module.exports = {
show: (res) => {
//嵌入一个html取代模板
let html = `
Todo List
Todo List
-
` +
- ${item} `
items.map( (item) => {
return `
}) +
`
`;
//设置响应的头部信息
res.setHeader('Content-Type', 'text/html');
//使用字符串长度
res.setHeader('Content-Length', Buffer.byteLength(html));
//结束请求
res.end(html);
},
notFound(res){
// 函数接收响应对象,将状态码设为404,响应主体设为not found
res.statusCode = 404;
res.setHeader('Content-Type', 'text/plain');
res.end('Not Found');
},
badRequest(res){
// 向客户指明该请求无效
res.statusCode = 400;
res.setHeader('Content-Type', 'text/plain');
res.end('Bad Request');
},
add(req, res){
let body = '';
req.setEncoding('utf8');
req.on('data', (chunk) => {
body += chunk
});
req.on('end', () => {
let obj = qs.parse(body);
items.push(obj.item);
this.show(res);
})
}
}
0 3
启动服务
然后浏览器登录localhost:8000;
能看到页面