Express
中文网址:http://www.expressjs.com.cn/
一、安装
mkdir myapp
cd myapp
npm init
npm install express --save --save意思是加入依赖表
新建程序 app.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
监听 : 3000 端口
路由:所有 (/) URL 或 路由 返回 “Hello World!” 字符串,其他所有路径全部返回 404 Not Found。
req (请求) 和 res (响应) 与 Node 提供的对象完全一致,因此,你可以调用 req.pipe()、req.on(‘data’, callback) 以及任何 Node 提供的方法。
启动server
node app.js
在浏览器访问:http://localhost:3000
显示Hello World
express应用生成器
npm install express-generator -g
express myapp
cd myapp
npm install
set DEBUG=myapp & npm start
访问http://127.0.0.1:3000/
二、express 简单路由
// 对网站首页的访问返回 "Hello World!" 字样
app.get('/', function (req, res) {
res.send('Hello World!');
});
// 网站首页接受 POST 请求
app.post('/', function (req, res) {
res.send('Got a POST request');
});
///user 节点接受 PUT 请求
app.put('/user', function (req, res) {
res.send('Got a PUT request at /user');
});
///user 节点接受 DELETE 请求
app.delete('/user', function (req, res) {
res.send('Got a DELETE request at /user');
});
///secret 节点接受所有请求
app.all('/secret', function (req, res, next) {
console.log('Accessing the secret section ...');
next(); // pass control to the next handler
});
三、获取客户端提交参数
1. req.query
获取GET参数,示例:
//获取数据
app.get('/form', function(req, res) {
var count = req.query.count;
res.send("count=" + num);
});
2. req.body
获取POST参数,需要安装body-parser
npm body-parser --save
示例代码:
var express = require('express');
var app = express();
//引入body-parser
var bodyParser = require('body-parser');
//需要use的
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({
extended: true
})); // for parsing application/x-www-form-urlencoded
//获取数据
app.post('/form', function(req, res) {
var num = req.body.num;
res.send("你获取的post数据为:" + num);
});
//设置监听端口
app.listen(3000);
3. req.params
适合获取form参数:
var num = req.params.num;