Node.js之express

Node.js 之 express

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//引包
var express = require('express');

//相当于原来的http.createServer
var app = express();

//公开指定目录
app.use('/puclic/', express.static('./public/'));
//当省略第一个参数的时候,可以通过省略/public的方式访问
//app.use(express.static('./public/'))

//当服务器收到get请求 / 的时候,执行回调函数
app.get('/', function (req, res) {
res.send('hello exporess');
});

app.get('/about', function (req, res) {
res.send('hello world');
});

//相当于server.listen
app.listen(3000, function () {
console.log('app is running at port 3000');
});

Express 使用 art-template

1
2
npm install --save art-templates
npm install --save express-art-template
  • Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var express = require('express');
var app = express();

// view engine setup
app.engine('art', require('express-art-template'));
app.set('view', {
debug: process.env.NODE_ENV !== 'production'
});
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'art');

// routes
app.get('/', function (req, res) {
res.render('index.art', {
user: {
name: 'aui',
tags: ['art', 'template', 'nodejs']
}
});
});

body-parser

  • 在 Express 中没有内置获取表单 POST 请求体的 API,需要引入一个第三方包:body-parser

  • Install

1
npm install --save body-parser
  • config
1
2
3
4
5
6
7
var express = require('express')
var bodyParser = require('body-parser')
var app = express()

//配置 body-parser,req对象上就会多出来一个 body 属性
app.use(bodyParser.urlencoded({extended: false}))
app.use(bodyParser.json())
  • use
1
2
3
4
5
app.use(function(req, res){
res.setHeader('Content-Type', 'text/plain')
res.write('hello')
res.end()
})

评论