모노 저장소 모킹

(2020 년 11 월 22 일)

이것은 리포지토리 용 모의 서버를 만든 후 개발 환경의 실제 사진입니다.

백엔드에서 생성되는 서비스 양이 증가함에 따라 프런트 엔드 개발은 필요한 리포지토리 및 서버 수에 영향을 받기 시작했습니다. 프론트 엔드를 사용하기 위해 로컬에 설치합니다. 또한 ( 프런트 엔드 아키텍처 재 작업 )을 고려하면 조치를 취해야 빠르고 원활한 개발 경험. 이것이 우리의 monorepo 모의 서버가 들어오는 곳입니다.

LumApps에 대해 조금

LumApps 에 대해 모르는 경우 고객에게 SaaS Digital Workplace <를 제공하는 프랑스의 R & D 팀을 보유한 글로벌 기술 기업 / div> 솔루션은 여러 제품군 및 공동 작업 도구와 통합 된 전체적인 작업 공간을 만듭니다. 우리에 대해 조금 더 알고 싶으십니까? LumApps.com 으로 이동하여 살펴보세요!

필요한 사항

2 년까지 이전에는 우리의 프런트 엔드 애플리케이션이 코딩을 시작하기 위해 자체 개발 환경에서 시작하는 것이 매우 간단했습니다. 프론트 엔드와 백엔드를 실행했습니다. 그러나 회사와 애플리케이션은 지난 2 년 동안

새 서비스 생성 개발할 신규 개발자 응용 프로그램을 로컬로 부팅하는 것은 예전처럼 쉽지 않았습니다.

이러한 새로운 서비스는 설정하는 데 시간이 걸렸을뿐만 아니라 시스템에서 구성해야한다는 것을 의미했습니다. 따라서 개발 환경을위한 정말 어려운 조합 을 생성합니다. 다음을 수행 할 수있는 시스템이 필요했습니다.

  • 지역 개발을 위해 이러한 서비스 종속성을 제거 그리고 프론트 엔드가 로컬 개발에 필요한 데이터를 제공하여 로컬 개발 시간을 늘리는 단일 서버 가 있습니다. 🚀
  • 모든 팀이 기능을 개발하기 위해 재사용 할 수있는 데이터 세트를 만듭니다. 즉, 팀간에 데이터를 공유하고 해당 팀이 각각의 구성을 제거 / 추가하기 위해 자체 데이터 세트를 생성 할 수 있도록합니다. 특정 팀 구성 🛠
  • iv id =에 재사용 할 수있는 일관된 데이터 세트 가 있습니다. “65e29c03c6″>

단위 및 통합 테스트 ✅

수행 방법

몇 가지 조사 후 , json-server 이를 통해 완전한 가짜 REST API 를 정말 구성이 전혀 없습니다. 실제로는 놀라운 도구입니다. 데이터를 모의하고 서버를 생성 할 수있을뿐만 아니라 많은 핵심 API 기능을 사용하면 조롱과 관련하여이 도구가 실제로 다음 단계 가됩니다. 이를 통해 예를 들어 POST를 실행하여 리소스를 만들고 다음에 목록을 검색하기 위해 GET을 수행 할 수 있습니다. 리소스의 경우 최근 생성 된 리소스가있을 것입니다! 조정에 사용할 수있는 Express JS 미들웨어 를 만들 수도 있습니다. 요청 및 응답을 통해 원하는 모든 항목을 변경할 수 있습니다.

json-server

30 초 이내에 제로 코딩

www.npmjs.com

또한 이러한 모의 객체를 쉽게 관리 할 수있는 작은 노드 js 파일을 만들었습니다. monorepo의 파일.기본적으로 json-server 는 모의 데이터가있는 json 진입 점이 필요하지만 우리는 monorepo 아키텍처를 사용하기 때문에 각 패키지는 자체 모의 데이터를 갖도록 해당 데이터의 소유자이며 더욱이 패키지가 사용하는 끝점. 이 노드 js 파일은 json-server 보다 먼저 실행되는 스크립트입니다.

  • 작업 공간의 각 패키지를 살펴보고 api.json _mocks 폴더를 만들고 각 패키지의 모든 데이터가 포함 된 모든 파일을 단일 파일로 결합합니다. 또한 iv id = “와 같은 다른 json-server 구성도 고려합니다. 65e29c03c6 “>

라우트 또는 미들웨어 및 배치 모두 한 위치에

_ mocks라는 하위 폴더와 api.json 파일 3 개가있는 사용자 폴더 route.json 및 user.middleware.js
이것은 자체 모의 정의가 정의 된 사용자 패키지의 모습입니다.
알림 서비스에 대한 API 응답 키 항목, 읽지 않은 알림 값 5 이상 true
알림 서비스는 표시 할 알림 목록, 사용자가 읽지 않은 알림 수, 알림이 더 있는지 여부를 반환합니다. 가져 오기

하지만 사용자에게 알림이 전혀없는 프런트 엔드를 쉽게 시작하려면 어떻게해야할까요? 이 경우이 파일을 재정의하는 재정의 no-notifications.api.json 를 만듭니다.

0 개 이상의 값이 false 인 읽지 않은 알림이있는 알림 서비스에 대한 API 응답
현재 사용자에 대한 알림이없는 시나리오에 대한 재정의

폴더 수준에서 알림 패키지는 다음과 같습니다.

알림 센터에 대한 다양한 시나리오가 있습니다 😅

이러한 재정의를 적용하려면 yarn mocks -override no-notifications 노드 js 파일은 no-notifications

해당 값을 각 API 응답의 원래 값과 깊게 병합합니다. 이는 또한 알림 없음 시나리오에 대한 재정의를 생성하려는 다른 패키지가있는 경우에도이를 수행 할 수 있음을 의미합니다. ! <에 no-notifications.api.json 라는 파일을 생성하기 만하면됩니다. / div> _mocks 폴더.

마지막으로 <를 수행하여 한 번에 여러 재정의를 적용 할 수도 있습니다. em> yarn mocks-no-notifications, admin, no-posts를 무시합니다. 이러한 재정의를 차례로 적용하여 제공된 순서대로 API 응답의 각 키를 재정의합니다.

다음 단계

h2>

개발자가보다 유동적 인 개발 환경을 제공 할 수 있도록 해결하려는 몇 가지 시나리오를 더 검토해야합니다.

  • 원격 백엔드 서비스에서 모의 ​​를 자동으로 만듭니다.
  • 원격 백엔드 서비스에 대해 이러한 모의를 주기적으로 확인 API 응답이 확인되지 않았는지 확인합니다. 변경합니다.
  • 이 작은 노드 js 스크립트를 오픈 소스하므로 모노 레포를 사용하는 사람들은 이 코드를 재사용하고 싶다면 할 수 있습니다! 이 주제에 대한 향후 개발을 계속 지켜봐주십시오!

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다