express基础概念,express修改完代码自动重启,开放静态资源,在express中配置art-template模板引擎一集express如何获取表单数据。

4.1 修改完代码自动重启

使用一个第三方命令行工具,nodemon来帮我们解决频繁修改代码重启服务器的问题
nodemon是一个基于node.js的命令行工具,需要独立安装:

1
2
# 凡是 --global 全局安装的包在任意目录都可以安装
npm install --global nodemon

安装完使用:

1
2
3
node app.js
# 使用nodemon
nodemon app.js

只要通过nodemon app.js启动的服务,它会监视文件app.js内容的变化,变化发生时会自动重启服务器

4.2 静态服务

1
2
3
4
5
6
# public资源
app.use(express.static('public'))
# files资源
app.use(express.static('files'))
# public/xxx
app.use('/public/', express.static('./public'))

4.3 express 中配置art-template模板引擎

art-template github仓库
art-template官方文档

安装:

1
2
npm install --save art-template
npm install --save express-art-template

配置:

1
2
// 默认的文件后缀是.art 这里可以修改成html下面使用的index.art同时改成index.html就行了
app.engine('art', require('express-art-template'));

使用:

1
2
3
4
5
6
app.get('/', function (req, res) {
// express 默认会到views目录下找index.html
res.render('index.art', {
data: 'this is data'
});
});

如果需要修改默认的views视图渲染存储目录

1
2
// 注意第一个参数 views 不能写错
app.set('views', '目录路径')

4.4 express获取表单get请求参数

1
2
// Express内置了一个对象,通过res.query获取
res.query

4.5 express获取表单post请求体数据

Excress中没有内置获取post表单请求体的API,需要依赖一个第三方包 body-parser
安装:

1
npm install body-parser --save

配置:

1
2
3
4
5
6
7
8
9
10
11
var express = require('express')
//引包
var bodyParser = require('body-parser')
var app = express()

//配置body-parser 只要配置了此项则res请求对象上就会多出属性:body
//然后可以通过res.body来获取表单请求体数据了
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())

使用:

1
2
3
4
5
6
app.use(function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.write('you posted:\n')
//通过res.body获取post请求体数据
res.end(JSON.stringify(req.body, null, 2))
})