6개월간 노드 리액트로 지원받고 수료하고나서
개인적인 아이디어 있던거 라이브러리 만들어보고 싶어서 삽질하면서 모노레포란것도 알게되고
yarn말고 pnpm, bun이라는 패키지 매니저도 알게되고
모노레포란 개념도 알게되서 한 레포에 여러 패키지를 관리하는것도 알게되고 그중에서 난 turbo가 대세라길래 쓰긴 했는데 각 모노레포 도구들이 어떤 차이가 있는지도 궁금하네
번들러란것도 알게되고 기본인 webpack 말고 vite esbuild rollup...
또 번들러도 앱용이랑 라이브러리용이 나뉘거나
tsup는 빌드툴?? 살짝 다르다네
아직 ts는 배우지않아서 js로만 작성하긴 했는데 ts도 확장해보고싶기도하다
모노레포하면서 내부를 워크스페이스로 쉽게 연결하면서 빌드해서 배포는 각자 되는게 신기햇어
또 플레이그라운드로 테스트하는것도 알고 jest나 vitest같은 테스트 도구도 알게되고...
스토리북같이 실제 운영을 보여주는것도 있다는등
아직도 배울게 너무 많아서 횡설수설하네 ㅋㅋㅋ
완성은 아직 못했지만 중간에 미리 빌드해보고싶어서 해밨는데 하면서 구조를 알게되는것두 많이 배운것같아
다른 대형 라이브러리 깃에 들어가서 각각 모노레포 구성도 비교해보고 거의 2주는 정신없이 지나갔네...
언능 완성하고 배포하고 이걸 기반으로 직접 프로젝트하나 만들어보는것까지 목표인데 잘 댔으면 좋겟다..
그냥 주절주절 의식의 흐름대로 일기같이 쓰게됐네 ㅎㅎ 그냥 뿌듯해서 어딘가에 써보구 싶었어 불편한 글이였다면 미안해
그리구 읽어줘서 고마워
뭔지 모르겠지만 추카해 나도 노드 js이쪽 공부할건데 나중엔 이해할 수 있겠지
화이팅이야
bun은 패키지매니저가 아니고 js런타임
그렇구나 고마워!
나도 알려줘 뭐부터 해야해?
nodejs를 설치하고 pnpm 설치하구 폴더하나 만들고 pnpm init로 패키지파일먼저 생성하고 pnpm install로 뼈대 생성후 pnpm-workspace.yaml으로 레포패키지 뭐로할껀지 적어둔담에 packages폴더만들고 거기에 개별적으로 배포할 이름으로 폴더생성후 각자에 코드 생성등등... 막 하고 루트에 turbo 설치하고 turbo.json파일 생성후 각 빌드가 저장될곳이라던지 명시하고 음 마구마구 이제 하면대
라이브러리를 만든다는게 어쨌든 기능을 구현하는거자나? 그럼 내가 만들 라이브러리를 install하고 그걸 호출할 때, 내가 구현한 메서드를 쓸 수 있다는거지? 그럼 그 구현할 메서드를 어디에 만들어야해? 이거 알아가는게 중요한거라면 내가 찾아보면서 공부할게 이미 너무 친절하게 알려줘서 고마웡. 너가 써준글 찾아보며 따라가볼게
음 이건 모노레포구조라서 복잡한거지만단일 라이브러리 간단하게 하는거면 my-library라는 라이브러리명을 지었으면 이제 그안에서npm init로 package.json을 만들면대그리고 진입점같은걸 여기에 명시하거나 이 라이브러리는 타입스크립트를 지원한다 cjs를 지원한다 esm을 지원한다 그런 문법이 있으니까 그런것도 적어주고보통 라이브러리 번들러는 webpack, rollup이나 vite를 많이 쓴다고해그중 쓰고싶은거로 하고이제 그안에 src폴더두고 내부에 utils이라던지 core라던지 네가 만들 라이브러리에따라 디렉토리를 이제 만들고 파일들 열심히 자컹하면ㅁ대나는 첨에 이런것까진 하기힘들어서 그냥yarn creatr react-app으로 쌩프로젝트부터 만들고나서
일단 작동되는걸 바로바로 볼수있게 테스트하면서 만들었어
구조가많이 잡히고 슬슬 배포테스트해보고 싶어서 저거 빌드를 찾아서 이식하구테스트해본거구
그런데 이제 배포와 빌드에 대해서 공부하니까 화면 렌더링이 필요없는 작업수준에는 간단하게 파일만 만들고 node 파일명으로 실행해보거나 jest나 vitest같은 테스트 도구 설치해서 써볼수도있어
고마워! 자세히 설명해준것같은데 내가 부족해서 완벽히 이해는 못했지만 따라가볼게! 너도 화이팅이야!
나도 아직 잘 설명해줄 그런 레벨이 아니라 이해하기 어려웠을꺼야 ㅜㅜ