//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