//app为express的一个实例
1、 app.get()
(1)当参数为一个变量时,返回这个变量的值。
app.get('title');
// => undefined
app.set('title', 'My Site');
app.get('title');
// => "My Site"
(2)当参数为地址时,GET请求路由到指定的路径与指定的回调函数。
app.get(path, callback [, callback ...])
app.get('/', function (req, res) {
res.send('GET request to homepage');
});
2、 app.post()
POST请求路由到指定的路径与指定的回调函数。
app.post('/', function (req, res) {
res.send('POST request to homepage');
});
3、app.route(path)
可以给同一个实例一连串挂很多请求。
var app = express();
app.route('/events')
.all(function(req, res, next) {
// runs for all HTTP verbs first
// think of it as route specific middleware!
})
.get(function(req, res, next) {
res.json(...);
})
.post(function(req, res, next) {
// maybe add a new event...
})
4、app.use()
(1)设置基础路由
app.use('/',router)
router.get('/about',function(req,res){})
// localhost:3000/about
app.use('/app',router)
router.get('/about',function(req,res){})
// localhost:3000/app/about
//当一个路径有多个匹配规则时,使用app.use(path,router),否则使用相应的app.method(get、post)
二、路由
1、路由中间件
//在每一個請求被處理之前,輸出一行紀錄訊息到終端機上。(一定要写在router之前)
router.use(function(req, res, next) {
console.log(req.method, req.url);
// 繼續路由處理
next();
});
router.get('/', function(req, res) {
res.send('home page!');
});
router.get('/about', function(req, res) {
res.send('about page!');
});
app.use('/', router);
一个处理参数的中间件:
router.param('name', function(req, res, next, name) {
// 验证
console.log('doing name validations on ' + name);
// 當驗證成功時,將其儲存至 req
req.name = name;
next();
});
router.get('/hello/:name', function(req, res) {
res.send('hello ' + req.name + '!');
});
app.use('/', router);
2、参数路由
router.get('/hello/:name', function(req, res) {
res.send('hello ' + req.params.name + '!');
});
app.use('/', router);
示例代码来自官方文档以及博客https://blog.gtwang.org/progr...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。