Node.js Express框架
Express导入
var express = require('express');
var app = express();
express的简单用法就是,使用app指定一个请求路径,对应一个get/post/…回调接口,或者指定一个请求目录,对应一个包含多个get/post/…回调接口的路由。
express可以独立开启服务器,使用app.listen(port,Callback)开启,或者是使用app.set(‘port’,port)设置好端口后,使用http.createServer(app)创建。
对于单一的响应请求,可以不设置路由解决。
eg:
//GET
app.get('/',function(req,res){
res.send('Hello GET');
})
//POST
app.post('/',function(req,res){
res.send('Hello POST');
})
//使用Json解析方式的POST
var bodyParser = require('body-parser');
var urlencodedParser bodyParser.urlencoded({ exteneded: false})
app.post('/index', urlencodedParser, function (req, res){
var response = {
"first":req.body.first,
"second":req.body.second
};
res.end(JSON.stringify(response));
})
对于包含多种不同响应的请求,可以设置路由解决。
eg:
创建一个名为testroute.js的文件
//testroute.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/path1', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/path2', function(req, res, next) {
res.render('demo', { title: 'Express' });
});
module.exports = router;
//app.js
var express = require('express');
var app = express();
var testroute = require('./routes/testroute');
app.use('/path', testroute); //这里的 /path 是指定总目录,然后加载路由类,在里面对应更具体的路径请求
module.exports = app;
express静态文件
就是指定一个静态目录,然后可以直接在url里通过指定其路径进行访问。
例如,在public/images目录下放置了一张图片test.png,可以通过下面的方式进行访问。
var express = require('express');
var app = express();
app.use(express.static('public'));
然后可以通过访问 http://host:port/images/test.png访问到。
Cookie管理
向Node.js发送cookie信息,创建express_cookie.js:
var express = require('express')
var cookieParser = require('cookie-parser')
var app = express()
app.use(cookieParser())
app.get('/',function(req,res){
console.log("Cookies: ",req.cookies)
})
app.listen(8080);
也就是说只要使用cookie-parser对储存在req里的cookie进行解析就可以了。