express某些方法的一點註釋

//app爲express的一個實例

一、 app.get() express

(1)當參數爲一個變量時,返回這個變量的值。json

app.get('title');      
// => undefined

app.set('title', 'My Site');
app.get('title');  
// => "My Site"

(2)當參數爲地址時,GET請求路由到指定的路徑與指定的回調函數。app

app.get(path, callback [, callback ...])

app.get('/', function (req, res) {
  res.send('GET request to homepage');
});

二、 app.post()
POST請求路由到指定的路徑與指定的回調函數。函數

app.post('/', function (req, res) {
  res.send('POST request to homepage');
});

三、app.route(path)
能夠給同一個實例一連串掛不少請求。post

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...
})

四、app.use()
(1)設置基礎路由url

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)

2、路由
一、路由中間件code

//在每一個請求被處理以前,輸出一行紀錄訊息到終端機上。(必定要寫在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

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);

二、參數路由中間件

router.get('/hello/:name', function(req, res) {
  res.send('hello ' + req.params.name + '!');
});

app.use('/', router);

示例代碼來自官方文檔以及博客https://blog.gtwang.org/progr...blog

相關文章
相關標籤/搜索