[node] express 에서 app. use 와 app. get 의 차이 점 및 분석

app. use 와 app. get 의 차이 및 분석
앞에서 썼 습 니 다. 최근 연구 nodejs 와 그 웹 프레임 워 크 expressapp.useapp.get 에 대해 잘 이해 하지 못 해서 구 덩이 를 밟 아 많은 시간 을 낭 비 했 습 니 다. 저 는 자신의 실천 과 이 블 로 그 를 정리 하고 잘못 이 있 으 면 많은 지 도 를 바 랍 니 다.
결론.
내 가 발견 한 결론 부터 말 해 봐.
app. use (path, callback) 의 callback 은 router 대상 일 수도 있 고 함수 일 수도 있 습 니 다.
app. get (path, callback) 의 callback 은 함수 일 수 밖 에 없습니다.
결론 이 끝나 면 우리 먼저 밤 을 보 자.
예시
app.js
var express = require('express');
var app = express();

var index = require('./routes/index');

//1⃣️
app.use('/test1',function(req,res,next){
    res.send('hello test1');

});

//2⃣️
app.get('/test2',function(req,res,next){
    res.send('hello test2');

});

//3⃣️
app.get('/test3',index);

//4⃣️
app.use('/test4',index);

index 는 하나의 경로 대상 으로 결과, 예 1, 2, 4 결 과 는 모두 정확하게 나 타 났 으 나, 예 3 은 404 를 보고 했다.index. js 는 간단 합 니 다. 다음 과 같 습 니 다.
var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next) {
  res.send('hello world!');
});

module.exports = router;

양자 관계
이 는 app. get (app. post, app. pt 동 리) 에 경로 대상 을 부여 해 서 는 안 된다 는 뜻 이다. 사실은 app. get () 을 app. use 의 특정 요청 (get) 의 간략 한 쓰기 로 볼 수 있다.즉시
var express = require('express');
var app = express();
app.get('/hello',function(req,res,next){
    res.send('hello test2');

});

... 과 같다
var express = require('express');
var app = express();
var router = express.Router();

router.get('/', function(req, res, next) {
  res.send('hello world!');
});
app.use('/hello',router);

언제
그럼 앱. use 는 언제, 앱. get 은 언제 사용 하나 요?
경로 규칙 은 app.use(path,router) 에서 정 의 된 것 으로 routerexpress.Router() 에서 만 든 대상 을 대표 하고 경로 대상 에서 여러 경로 규칙 을 정의 할 수 있다.그러나 만약 에 우리 의 경로 가 하나의 규칙 만 있 을 때 바로 리 셋 을 약자 로 할 수도 있 고 app.get 또는 app.post 방법 을 직접 사용 할 수도 있다.즉시
한 경로 에 여러 개의 일치 하 는 규칙 이 있 을 때 app. use 를 사용 합 니 다. 그렇지 않 으 면 해당 하 는 app. method (get, post) 를 사용 합 니 다.
express 경로 에 대한 분석 은 Express. js 4.0 의 경로 (Router) 기능 용법 교학 을 참고 하여 홈 페이지 에서 말 한 것 보다 명확 하 다 고 생각 합 니 다.

좋은 웹페이지 즐겨찾기