express 학습

2543 단어

app.js 파일:

var express = require('express');
var app = express();

var requestTime = function(req, res, next) {
      req.requestTime = Date.now();
      next();
};
app.use(requestTime);
app.get('/', function(req, res) {
      var responseText = 'Hello World!
'; responseText += 'Requested at: ' +req.requestTime + ''; res.send(responseText); }); app.listen(3000, function() { console.log('Example app listening on port 3000!');});

실행
node app.js
서비스가 시작되면 개인적으로 이쪽을 이해합니다**앱.use (request Time) ** 는 요청 후 리셋 처리를 하는 것과 같기 때문에 localhost:3000/이 경로를 요청할 때마다 출력됩니다 ** Hello world Requested at: xxxxx (시간 스탬프)**.
앱으로 인해.use () 는 중간부품 방법이기 때문에request 대상과response 대상, 요청-응답 순환에 있는next 중간부품 함수에 접근할 수 있습니다.
**function (req,res,next) ** 이쪽의 세 번째 매개 변수는 모든 이름일 수 있지만, 네임으로 지정하는 것을 권장합니다. 공식 문서는 이렇게 권장합니다.
중간부품 함수의 작업 수행 과정:
  • 실행 코드
  • 요청 및 응답 대상에 대해 변경합니다
  • 요청 종료 - 응답의 순환..
  • 창고에서 다음 중간부품 방법을 통지합니다.

  • 현재 중간부품 방법이 요청 - 응답의 순환을 끝내지 않으면next () 방법을 사용하여 다음 중간부품 방법에 전달해야 합니다. 그렇지 않으면 요청이 계속 끊깁니다.
    express 응용 프로그램은 다음과 같은 몇 가지 중간부품을 사용할 수 있습니다.
  • 응용층 중간부품
  • 루트층 중간부품
  • 중간부품을 잘못 처리했습니다
  • 내장 중간부품
  • 제3자 중간부품

  • 응용 층과 루트 층 중간부품을 불러올 때 선택할 수 있는 설치 경로를 추가할 수 있습니다.중간부품 방법도 연속적으로 불러올 수 있다.
    예를 들어 루트 디렉터리에bird를 만듭니다.js:
    var express = require('express');
    
    router.use(function timeLog(req, res, next) {
         console.log('Time', Date.now());
         next();
    });
    
    router.get('/', function(req, res) {
        res.send('Birds home page');
    });
    
    module.exports = router;
    

    앱에서js에는 다음과 같은 기능이 있습니다.
    주:app.use () 방법은 모든 http 방법 (get,post,put 등) 을 통해 접근할 수 있습니다.
    응용층의 방법은 다음과 같다. 앱.use () 및 app.METHOD().app.METHOD 메서드는 HTTP 요청 메서드를 의미합니다.
    다음 예:
    app.get('/user/:id', function (req, res, next) {
        console.log('ID:', req.params.id);    next();
    }, function (req, res, next) {
        res.send('User Info');});
    // handler for the /user/:id path, which prints the user ID
    app.get('/user/:id', function (req, res, next) {
        res.end(req.params.id);
    });
    

    Route 처리는 한 경로에 대해 여러 경로를 정의할 수 있도록 합니다.위의 예에서 두 번째 get은 실행되지 않습니다. 요청-응답 순환은 첫 번째 get 이후에 끝나기 때문입니다.
    공유기 중간부품 창고에 남은 중간부품 트리를 건너뛰려면next ('route') 로 다음 루트에 제어권을 전달하십시오.주:next('route')는 앱만 사용합니다.METHOD 또는 라우터.method () 함수가 불러온 중간부품 함수에서 유효합니다.

    좋은 웹페이지 즐겨찾기