本文共 2486 字,大约阅读时间需要 8 分钟。
app.use('/public/', express.static('./public/'))
res.redirect('/')
# express-art-template 依赖了 art-templatenpm install art-template express-art-template --save
// app.jsvar express = require('express')var bodyParser = require('body-parser')var app = express()app.use('/public/', express.static('./public/'))// 配置使用 art-template 模板引擎// 第一个参数,表示,当渲染以 .html 结尾的文件的时候,使用 art-template 模板引擎app.engine('html', require('express-art-template'))// 第一个参数,表示,当渲染以 .art 结尾的文件的时候,使用 art-template 模板引擎// app.engine('art', require('express-art-template'))// Express 为 Response 相应对象提供了一个方法:render// render 方法默认是不可以使用,但是如果配置了模板引擎就可以使用了// res.render('html模板名', {模板数据})// 第一个参数不能写路径,默认会去项目中的 views 目录查找该模板文件// 也就是说 Express 有一个约定:开发人员把所有的视图文件都放到 views 目录中// 如果想要修改默认的 views 目录,则可以// app.set('views', render函数的默认路径)// 配置 body-parser 中间件(插件,专门用来解析表单 POST 请求体)// parse application/x-www-form-urlencodedapp.use(bodyParser.urlencoded({ extended: false }))// parse application/jsonapp.use(bodyParser.json())var comments = [{ name: '张三', message: '今天天气不错!', dateTime: '2015-10-16' }, { name: '张三2', message: '今天天气不错!', dateTime: '2015-10-16' }, { name: '张三3', message: '今天天气不错!', dateTime: '2015-10-16' }, { name: '张三4', message: '今天天气不错!', dateTime: '2015-10-16' }, { name: '张三5', message: '今天天气不错!', dateTime: '2015-10-16' }]app.get('/', function (req, res) { res.render('index.html', { comments: comments })})app.get('/post', function (req, res) { res.render('post.html')})// 当以 POST 请求 /post 的时候,执行指定的处理函数// 这样的话我们就可以利用不同的请求方法让一个请求路径使用多次app.post('/post', function (req, res) { // 1. 获取表单 POST 请求体数据 // 2. 处理 // 3. 发送响应 // req.query 只能拿 get 请求参数 // console.log(req.query) // 配置了body-parser才有req.body,否则没有 var comment = req.body comment.dateTime = '2017-11-5 10:58:51' comments.unshift(comment) // res.send // res.redirect // 这些方法 Express 会自动结束响应 res.redirect('/') // res.statusCode = 302 // res.setHeader('Location', '/') })// app.get('/pinglun', function (req, res) { // var comment = req.query// comment.dateTime = '2017-11-5 10:58:51'// comments.unshift(comment)// res.redirect('/')// // res.statusCode = 302// // res.setHeader('Location', '/')// })app.listen(3000, function () { console.log('running...')})
转载地址:http://cipo.baihongyu.com/