注:笔记与day4合并。
此文描述在express框架下重写之前的留言本案例。
文件格式与
node.js学习笔记Day3—一个留言本的小案例
相同
var express = require('express')
var app = express()
var comments = [
{
name:'Kobe Bryant',
message:'湖人总冠军',
dateTime:'2020-2-24'
},
{
name:'Kobe Bryant',
message:'湖人总冠军',
dateTime:'2020-2-25'
},
{
name:'Kobe Bryant',
message:'湖人总冠军',
dateTime:'2020-2-26'
}
]
//提供静态资源目录
//可以直接通过/public/xx的方式访问public目录中的所有资源
app.use('/public/',express.static('./public/'))
//第一个参数表示当渲染以.art结尾的文件的时候,使用art-template模板引擎
app.engine('html', require('express-art-template'))
app.get('/',function(req,res){
res.render('index.html',{
comments: comments
})
})
//以get方式来请求/post
app.get('/post',function(req,res){
res.render('post.html')
})
/*以get方法,html与之前一个相同,也可以完成
app.get('/pinglun',function(req,res){
var comment = req.query
comment.dateTime = '2022'
comments.unshift(comment)
res.redirect('/')
})
*/
//这里使用post方式来请求/post
//post.html文件的19行: get改为post /pinglun改为/post
//可以利用不同的请求方法让一个请求路径使用多次
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.post('/post',function(req,res){
var comment = req.body
comment.dateTime = '2020-2-29'
comments.unshift(comment)
res.redirect('/')
})
//相当于server.listen
app.listen(3000,function(){
console.log('running')
})