택배에 대해 알아보겠습니다.js 프레임워크

Node.js has become a reliable and trusted framework for modern web application development, providing a runtime environment that allows the use of JavaScript for both client-side and server-side application code.


이 문서에서는 Express의 기본 지식을 살펴봅니다.js 프레임워크와 우리가 왜 이 프레임워크를 사용해야 하는지.

Express는 한 페이지, 여러 페이지, 혼합 노드를 개발하는 데 사용되는 경량급 백엔드 기반 프레임워크입니다.js 응용 프로그램.Express는 가장 작고 유연한 노드입니다.js 웹 응용 프로그램 프레임워크는 웹과 모바일 응용 프로그램 개발에 강력한 기능을 제공합니다.MVC(모델-뷰-컨트롤러) 아키텍처에 애플리케이션을 구성하는 데 도움이 됩니다.

Every developer may have heard of an express framework earlier or later during their development phase and maybe using it knowingly or unknowingly while doing their project development life cycle


내가 왜 express를 사용해야 되는데?js?


Express는 웹 사이트, 웹 응용 프로그램, API 개발을 간단하고 쉽게 하기 위해 원본을 개설하고 유연한 NodeJS 웹 응용 프로그램 프레임워크이다.

You should use this so that you don’t have to repeat the same code over and over again.


노드js는 HTTP 모듈이 있는 저급 입력/출력 메커니즘이다.HTTP 모듈만 사용한다면 해상도 부하, 쿠키, 메모리 또는 Redis에서 세션 저장, 정규 표현식 기반 올바른 루트 선택 등 많은 작업을 다시 수행해야 합니다.Express를 사용합니다.js, 그것은 그곳에서 당신에게 사용할 수 있습니다.
상당히 많은 노드가 있다.js 프레임워크는 이express 프레임워크를 바탕으로 구축하거나 그 개념의 계발을 받는다.나는 참고할 만한 몇 가지를 열거했다.
  • Kraken: 구조와 약정을 제공하여 Express의 안전과 확장층을 확장합니다.
  • 루프백: 고도로 확장 가능한 소스 오픈 노드.동적 끝에서 끝까지 RESTAPI를 신속하게 만드는 데 사용되는 js 프레임워크입니다.
  • Sails: 노드의 MVC 프레임워크.js는 실용적이고 생산 가능한 응용 프로그램을 구축하는 데 사용됩니다.
  • NestJs: 점진적인 노드js 프레임워크, TypeScript 및 JavaScript(ES6, ES7, ES8) 위에 효율적이고 확장 가능하며 엔터프라이즈급 서버 측 응용 프로그램 구축
  • ItemsAPI: Express와 Elasticsearch를 바탕으로 구축된 웹 및 모바일 응용 프로그램의 검색 백엔드입니다.
  • KeystoneJS: 웹 사이트 및 API 응용 프로그램 프레임워크/CMS, 자동으로 생성되는 React가 있습니다.js 관리 UI
  • express를 사용하여 첫 번째 Hello World 응용 프로그램을 만듭니다.js의 다섯 가지 간단한 절차는 다음과 같다!


    1단계:express 설치


    NPM(Node Package Manager) 및 다음 명령을 사용하여 Express 프레임워크를 설치할 수 있습니다.
    npm install express
    

    2단계:express 모듈 가져오기


    서버라는 파일을 만듭니다.js와import-express 모듈은 다음과 같은 문법을 사용합니다.
    const express = require(‘express’)
    

    3단계: 객체 만들기


    express 모듈 값을 포함하는 대상을 만듭니다.우리의 예에서'앱'은 express 모듈의 실례를 가진 대상이다.
    let app = express();
    

    단계 4: 콜백 함수 만들기


    위의 단계에서 작성한 객체를 사용하여 GET 콜백 함수를 생성합니다.이 함수는 클라이언트 브라우저가 보낼 수 있는 요청과'res', 즉 서버 파일이 클라이언트의 응답으로 전송되는 두 개의 매개 변수'req'를 받아들입니다.
    우리의 예에서, 우리는 문자열'Hello World'를 클라이언트 브라우저로 보내기만 하면 된다.
    app.get(‘/‘,function (req, res){
    res.send(“Hello World”);
    });
    

    5단계: 고객의 요구에 귀 기울이기


    감청 포트 3000은 클라이언트 브라우저가 이 포트 번호를 클릭할 때마다 우리 서버가 문자열 응답을 되돌려준다는 것을 의미한다.
    app.listen(3000, function(){
    });
    
    만세!우리는 코드의 작성을 완성했다.첫 번째 클라이언트-서버 응용 프로그램을 실행합시다.
    이를 위해, 우선, 브라우저 포트 3000에서 온 모든 요청을 정탐하기 위해 서버를 실행해야 합니다.
    명령 프롬프트/터미널로 이동하여 다음 명령을 입력합니다.
    npm 노드 서버.회사 명
    이제 기계의 브라우저를 열고 http://localhost:3000 를 입력하십시오.

    봐라, 너는 브라우저에서'안녕한 세상'을 볼 수 있다.


    Express 사용의 특징회사 명


    피쳐 1: 경로설정


    라우팅이란 응용 프로그램의 끝점(URI)이 클라이언트 요청에 어떻게 응답하는지를 말합니다.
    Express app 객체의 방법을 사용하여 라우트를 정의할 수 있습니다. 이러한 방법은 앱과 같은 HTTP 방법에 해당합니다.get () 은 get 요청과 응용 프로그램을 처리합니다.post는 post 요청을 처리합니다.너희도 이 앱을 사용할 수 있다.all () 은 모든 HTTP 메서드와 응용 프로그램을 처리합니다.() 를 사용하여 중간부품을 콜백 함수로 지정합니다.
    우리는 아래의 문장에서 중간부품을 더욱 연구할 것이다.
    이러한 라우팅 방법은 리셋 함수 (처리 함수라고도 함수) 를 지정합니다. 프로그램이 지정된 라우팅 (끝점) 과 HTTP 방법에 대한 요청을 받을 때 이 함수를 호출합니다.

    In other words, the application listens for requests that match the specified route(s) and method(s), and when it detects a match, it calls the specified callback function.


    루트 방법은 여러 개의 리셋 함수를 매개 변수로 할 수 있다.여러 개의 리셋 함수에 대해 중요한 것은next를 리셋 함수의 매개 변수로 제공한 다음에 함수체에서next () 를 호출하여 제어권을 다음 리셋에 넘기는 것이다.
    var express = require(‘express’)
    var app = express()
    // respond with “Learning Express” when a GET request is made to the homepage
    app.get(‘/’, function (req, res) {
    res.send(‘Learning Express’)
       // Logic
    })
    A route method is derived from one of the HTTP methods and is attached to an instance of the express class.
    // GET method
    app.get(‘/’, function (req, res) {
        res.send(‘You called GET request’)
    })
    // POST method
    app.post(‘/’, function (req, res) {
       res.send(‘You called POST request’)
    })
    
    루트 경로와 요청 방법을 결합하여 요청을 보낼 수 있는 단점을 정의합니다.라우팅 경로는 문자열, 문자열 모드 또는 정규 표현식일 수 있습니다.
    app.get(‘/’, function (req, res) {
       res.send(‘this is default index page’)
    })
    
    지금, 예를 들면, 당신은 AboutUs 페이지를 호출하고 싶은데, 다음은 방법입니다.
    app.get(‘/aboutUs’, function (req, res) {
        res.send(‘About Us’)
    })
    
    라우팅 매개변수는 URL의 위치에 지정된 값을 캡처하는 데 사용되는 명명된 URL 세그먼트입니다.포획된 값은req에 채워집니다.params 대상, 경로에 지정된 루트 매개 변수의 이름을 각자의 키로 합니다.
    예를 들어 bookId와userId를 전달할 때 어떤 기능을 실행하려면 다음과 같이 단점 URI를 정의할 수 있습니다
    요청 URL: http://localhost:3000/users/34/books/8989
    app.get(‘/users/:userId/books/:bookId’, function (req, res) {
       res.send(req.params)
    })
    

    특징 2: 중간부품


    말 그대로 중간부품은 클라이언트 브라우저가 보낸 원시 요청과 서버 측 응용 프로그램 설계의 최종 예상 루트 논리의 중간에 있다.이것은 기본적으로 express 프로그램의 작업 방식을 설정할 수 있습니다.중간부품 기능은 요청 대상(req), 응답 대상(res), 응용 프로그램 요청 - 응답 주기 중의 다음 기능에 접근할 수 있습니다.다음 함수는 Expressrouter의 함수입니다. 이 함수를 호출할 때 현재 중간부품에 이어 중간부품을 실행합니다.
    중간부품 기능은 다음 작업을 수행할 수 있습니다.
  • 코드를 실행합니다.
  • 요청 및 응답 대상을 변경합니다.
  • 요청 - 응답 주기를 종료합니다.
  • 창고의 다음 중간부품을 호출합니다.
  • 일부 흔히 볼 수 있는 작업은 사용자의 로그인 상태를 검사하고 사용자의 권한을 검증하거나 크로스 사이트 공격을 방지하는 것을 포함하는데 이런 공격은 중간부품으로 추출하는 것이 가장 좋다.

    If the current middleware function does not end the request-response cycle, it must call next() to pass control to the next middleware function. Otherwise, the request will be left hanging.


    다음은 logger라는 중간부품 함수의 간단한 예시입니다.응용 프로그램의 요청이 이 함수를 통과할 때, 이 함수는 로그만 출력합니다.중간부품 기능은logger라는 변수에 분배됩니다.
    중간부품 기능을 로드하려면 _app 를 호출합니다.use (), 중간부품 함수 지정_
    예를 들어 다음 코드는 루트에서 루트 경로(/)로 이동하기 전에 레코더 중간부품 기능을 불러옵니다.
    const express = require(‘express’);
    let app = express()
    let logger = function (req, res, next) {
        console.log(‘Logging’)
        next()
    }
    app.use(logger)
    app.get(‘/’, function (req, res) {
        res.send(‘My home page’)
    })
    app.listen(3000)
    
    프로그램이 요청을 받을 때마다 메시지 로그를 터미널에 출력합니다.

    The order of middleware loading is important. Middleware functions that are loaded first are also executed first.


    루트에서 루트 경로로 로드된 후에 레코더가 로드되면 요청이 루트에 도달하지 않고 루트 경로의 루트 처리 프로그램이 요청 응답 주기를 종료하기 때문에 프로그램이 로그 기록을 인쇄하지 않습니다.
    중간부품 함수 기록기는 메시지를 출력한 다음next () 함수를 호출하여 요청을 창고의 다음 중간부품 함수에 전달합니다.

    You can use third-party middleware to add functionality to Express apps.


    다음 예는 제3자 쿠키 해석 중간부품 함수를 설치하고 불러오는 방법을 설명합니다. 이 함수를 쿠키parser라고 합니다.
    var app = express();
    app.use(cookieParser());
    app.use(bodyParser());
    app.use(logger());
    app.use(authentication());
    app.get(‘/’, function (req, res) {
         // …
    });
    app.listen(3000);
    

    An Express application is essentially Node.js with a host of middleware functions, whether you want to customize your own middleware or take advantage of the built-in middlewares of the framework, Express made the process natural and intuitive.


    피쳐 3: 템플릿


    템플릿 엔진을 사용하면 응용 프로그램에서 정적 템플릿 파일을 사용할 수 있습니다.실행할 때 템플릿 엔진은 템플릿 파일의 변수를 실제 값으로 대체하고 템플릿을 클라이언트에게 보내는 HTML 파일로 변환합니다.
    이런 방법은 HTML 페이지를 설계하는 것을 더욱 쉽게 한다.
    Express를 사용하는 일부 유행하는 템플릿 엔진에는 파그, 콧수염, EJS가 있다.Express application generator는 Jade를 기본값으로 사용하지만, 다른 몇 가지를 지원합니다.
    보기 엔진을 설정하면 프로그램에서 엔진을 지정하거나 템플릿 엔진 모듈을 불러올 필요가 없습니다.
    app.set(‘view engine’, ‘pug’)
    
    템플릿 엔진은 개발자가 백엔드 변수를 HTML 파일에 삽입할 수 있도록 합니다. 요청되면 템플릿 파일은 순수한 HTML 형식으로 나타나고 변수는 실제 값으로 삽입됩니다.

    피쳐 4: 오류 처리


    다른 중간부품 함수와 같은 방식으로 오류 처리 중간부품 함수를 정의합니다. (오류 처리 함수 제외) 3개가 아닌 4개의 매개 변수가 있습니다. (err,req,res,next)
    app.use(function (err, req, res, next) {
         console.error(err.stack)
         res.status(500).send(‘Something broke!’)
    })
    
    다른 응용 프로그램을 정의한 후에 오류 처리 중간부품을 정의할 수 있습니다.use () 와routes 호출.
    var bodyParser = require(‘body-parser’)
    var methodOverride = require(‘method-override’)
    app.use(bodyParser.urlencoded({
        extended: true
    }))
    app.use(bodyParser.json())
    app.use(methodOverride())
    app.use(function (err, req, res, next) {
        // logic
    })
    
    나타내다js는 개발을 간소화하여 안전하고 모듈화되며 빠른 응용 프로그램을 작성하는 것을 더욱 쉽게 한다.당신은 언제든지 일반적인 낡은 노드에서 이 모든 것을 완성할 수 있습니다.그러나 우리가 NodeJS-then-express를 사용하여 확장 가능한 웹 응용 프로그램을 개발하는 것을 고려할 때, 일부 오류는 보안 문제(예를 들어 정확한 의미 문자열이 없음) 등을 포함할 수 있다.js는 추천하는 프레임워크가 될 것입니다.

    Express 사용에 결함이 있습니까?js?


    Express는 자신의 의견을 고집하지 않는 가장 작은 프레임워크입니다.그것은 MVC, MVP, MVVM 또는 상자를 열면 바로 사용할 수 있는 트렌드와 같은 유행하는 디자인 모델을 적용하지 않는다.단순성 애호가들에게 이것은 모든 다른 프레임워크의 큰 장점이다. 왜냐하면 당신은 자신의 취향에 따라 응용 프로그램을 구축할 수 있고 불필요한 학습 곡선이 필요하지 않기 때문이다.역사적 부담이 없는 새로운 개인 프로젝트를 만들 때 특히 유리하지만 프로젝트나 개발팀의 증가에 따라 표준화 부족은 프로젝트/코드 관리의 추가 작업을 초래할 수 있고 최악의 경우 유지보수가 불가능할 수 있다.

    본고는 당신이 어떻게 표현하고 왜 표현하는지 이해하는 데 도움을 줄 수 있기를 바랍니다.js는 매우 유용하다.

    좋은 웹페이지 즐겨찾기