표현력이 풍부한 차를 소개하다

소개하다.


약 2년 전, 내가 Expressive Tea 코드를 작성하기 시작했을 때, 그것은 단지 나의 게으름을 증가시키는 도구 (대부분의 엔지니어들이) ExpressJS 에서 프로젝트를 세우는 것을 피했기 때문이다.나는 내가 배우기 시작한 언어(Typescript)를 결합시켜 ExpressJS의 설정을 더욱 간단하게 하는 것을 고려하고 있다.그때까지 나는 몰랐다NestJS. 이것은 매우 성숙하고 신기한 틀이었다.나는 연구할 기회가 없었다. 단지 이 새로운 개인 도서관에서 일하기 시작할 생각이 생겼기 때문이다.
2019년 9월 이 개인 라이브러리는 노드JS에서 서버측 앱을 구축하고 Typescript가 지원하는 현대 자바스크립트를 사용하는 데 도움을 주는 마이크로 프레임워크로 바뀌었다.그 밖에 주요 목표 중 하나는 내가 본문을 작성할 때 사용할 수 있는express 중간부품과 플러그인을 호환시키는 것이다.친구와 사용자의 생각과 추천에 따라 이 목록은 계속 확대되면서 표현력이 풍부한 차를 사용하기 시작했다.

차는 도대체 뭐야?


Expressive Tea는 설명적 인테리어, 플러그인 엔진, 공유 가능한 모듈과 현대적인 자바스크립트를 제공함으로써 자유롭게 아키텍처를 구축할 수 있는 유연한 프레임워크로 정의했습니다.
그러나 이것은 무엇을 의미하는가?제가 소개한 바와 같이 개발자를 더 게으르게 만들고 ExpressJS를 어떻게 설정하는지 잊어버리고 업무 논리만 처리하도록 도와줍니다.
표현력이 풍부한 차는 이미 만들어진 것이 없다는 것을 감안하면이것은 Websockets 등 특정 기능 외에 다른 플러그인이나 중간 소프트웨어가 없다는 것을 의미하며, 독특한 서버 스타일을 실현하기 위해 필요한 플러그인을 제공해야 할 수도 있습니다.
그래서 이 점을 말하자면 기본적인 문제에 불과한 것들 중에서 유연성이나 자유가 어디에 있는지 여전히 알고 싶을 것이다.Expressive Tea에는 이름 규약, 특별한 플러그인 또는 데이터 소스가 없으므로 원하는 방식으로 애플리케이션을 자유롭게 변경하고 Expressive Tea 프레임워크에 두 개의 핵심 엔티티를 도입할 수 있습니다.

플러그 인


플러그인은 응용 프로그램에 필요한 기능을 실현하는 실체입니다. 예를 들어mongoDB에 연결을 분배하거나 서버 행동을 변경합니다. 예를 들어 보기 엔진을 추가하거나 권한 수여 중간부품을 추가하거나 주체 해상도만 추가합니다.
그러나 더 중요한 것은 표현력이 풍부한 다도 프로젝트를 공유할 수 있다는 것이다.방법은 npm 패키지,git 서브 모듈, 복사 붙여넣기 등에 달려 있습니다.그럼에도 불구하고, 기본적으로 당신은 많은 플러그인을 만들고, 그것들을 결합시켜 자신의 차에 맛을 낼 수 있는 방법을 찾을 것이다.

모듈


모듈은 플러그인과 매우 비슷하지만 서버의 행동을 바꾸는 것이 아니라, 표시된 노드를 통해 사용자의 요청에 응답할 수 있는 자리 차지 기호를 만드는 것이다.
모든 ** 컨트롤러 **에서 모든 단점을 정의했는데 이 단점들은 클라이언트에게 응답하는 상응하는 방법을 가지고 있다.간단하게 말하자면, 하나의 모듈은 한 곳에 공유기를 포함하는 데 도움이 된다. 예를 들어, 우리는 모든 단점을 포함하는 서명 모듈을 만들 수 있다. 이 모듈은 로그인하거나 사용자를 응용 프로그램에 등록하는 데 사용된다.
플러그인과 마찬가지로 다음과 같은 사양이 있으면 모듈을 표현 Tea 응용 프로그램 간에 공유할 수 있습니다.
  • 모든 코드는 같은 위치에 있어야 한다.누구나 자신의 구조와 브래킷 방법을 가지고 이상적인 상황에서 같은 디렉터리에 설치한다.다른 일은 너에게 달려 있다.
  • 외부 코드, 예를 들어 외부 클래스, 서비스 또는 상수를 포함해서는 안 되지만 표현식Tea 설정과 노드 패키지 등 일부 예외가 있다.
  • 데모


    우리는 지루한 이론을 연구할 충분한 시간이 있다.이것은 어떻게 일을 하는지 시범을 보여 주는 것이 좋겠습니다. 네?

    의존 관계.


    다음 명령을 사용하여 CLItea를 설치할 수 있습니다.
    npm install -g @expressive-tea/tea
    

    Tea CLI is under development; take patience ;), send comments or open an issue.


    프로젝트를 만듭니다.

    tea 설치가 완료되면 다음 명령을 사용하여 프로젝트를 작성할 수 있습니다.
    tea brew to-do
    

    모든 설명에 따라 조작하며, 필요하면 변경할 수 있습니다.프로젝트를 만들고 저희to-do 프로젝트를 완성하면:



    cd to-do
    

    및 다음과 같은 방식으로 프로젝트를 실행합니다:



    tea serve
    




    아래 메시지를 받으면 축하합니다.이것은 당신의 첫 번째 표현력이 풍부한 Tea 응용 프로그램입니다:



    [INFO] 14:08:05 ts-node-dev ver. 1.1.6 (using ts-node ver. 9.1.1, typescript ver. 3.9.9)
    Fri, 21 May 2021 19:08:06 GMT helmet deprecated helmet.noCache is deprecated and will be removed in helmet@4. You can use the `nocache` module instead. For more, see https://github.com/helmetjs/helmet/issues/215. at server/plugins/express.ts:59:31
    Running HTTP Server on [8080]
    

    브라우저를 열고 http://localhost:8080/



    time to play


    즐거움을 시작하자:), 우리의 계획을 조금 바꿀 때가 되었다.주요 목표는 업무 응용 프로그램에 REST API를 만드는 것입니다. 우선 색인으로 표시된 정적 HTML


    이제 프로그램에서 main.ts 파일을 열고 @Static('./public') 줄을 삭제할 때입니다(당신이 좋아하는 IDE를 사용할 수 있습니다). 아래와 같습니다





    이제 홈페이지가 사라졌습니다. 이 새 REST API의 첫 번째 노드를 실현할 때가 되었습니다





    현재 프로그램은 예시가 너무 복잡하지 않도록 메모리에 있는 업무 목록을 되돌려줍니다





    이 예에 대해 Expressive Tea의 요소를 추가하여endpoints 방법에 파라미터를 장식해야 합니다.@body() 주석은 @zerooneit/expressive-tea/decorators/annotations의 소프트웨어 패키지의 일부로 전체 신체 대상을 추출하는 데 도움이 된다. 위의 그림과 같다


    More details you will get in the documentation.


    The Extra


    주된 목적은 표현력이 풍부한 차를 주는 것이지만, 추가 차를 주지 않는 상황에서 어떻게 떠나는가;이 예에서는 콘솔 로그만 표시하도록 프레젠테이션에서 Express 플러그인을 수정하는 방법을 보여 드리겠습니다





    Check our live playground.


    나는 이 문장에 세부적인 내용이 많지 않다는 것을 안다. 이것은 내가 너에게 더 많은 것을 알려주고 싶을 뿐이지 너를 교육시키고 싶지 않기 때문이다. 그러나 만약 네가 몰래 더 많은 내용을 고르고 싶다면 일련의 문장이 있다. 너는 따를 수 있다. 그것은 좀 낡을 수도 있지만 기본적인 것을 포함한다.





    또는 당신도CodeSandbox에서 우리의 샌드박스를 사용할 수 있습니다. 여기서 당신은 차를 표현하는 것에 대해 좀 더 많이 놀 수 있습니다




    Conclusions


    내가 이 프로젝트를 끊임없이 개선함에 따라 나는 많은 기술적인 것을 배웠다.그럼에도 불구하고 진정한 가치는 새로운 사물을 발견하고 도전하는 데 있다. 더 중요한 것은 개원 지역사회에 적극적으로 참여하는 것이다.비록 이 프로젝트가 너무 많이 증가하지 않았거나 너무 많이 확장되었을 수도 있지만, 많은 소프트 기능의 자습도 수반된다. 예를 들어, 당신의 시간을 관리하고, 한 프로젝트를 집행하며, 새로운 기능을 적극적으로 검사한다.p>

    그러므로 이 작업으로서 저는 단지 그것을 개인의 도전으로 삼을 뿐입니다. 이것은 좋은 도움이 될 것입니다. 그래서 만약에 당신들 중 누구라도 코드를 개선하고 새로운 문제를 추가하고 평론을 하고 글을 쓰고 유튜브 동영상을 쓰거나 아래의 새로운 기능을 요구한다면 이 프로젝트의 Github 저장소에 링크를 받을 수 있습니다




    Expressive-Tea / expresive-tea


    A Express and Typescript REST Service Template.




    더 이상 정리할 것이 없습니다. 제 글을 읽어 주셔서 감사합니다. 이 플랫폼의 첫 번째 편입니다

    좋은 웹페이지 즐겨찾기