Skip to content

Commit 1766837

Browse files
committed
docs: restructure tsconfig setup guide with 4-step method
1 parent d52fe99 commit 1766837

1 file changed

Lines changed: 35 additions & 28 deletions

File tree

CLONE_MANUAL_DETAILED.md

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -440,39 +440,46 @@
440440
441441
---
442442
443-
### 1-3. 🛠️ [실전 가이드] tsconfig.json 설정 및 초정밀 분석
443+
### 1-3. 🛠️ [실전 가이드] tsconfig.json 설정: 새로운 나라의 헌법 제정
444444
445-
446-
"Moltbot은 대형 프로젝트라서 이미 있었지만, **맨땅에서 시작하는 나만의 작은 앱**은 어떻게 하죠?"
447-
448-
#### 1. 자동 생성 (가장 추천하는 시작법)
449-
터미널에 딱 한 줄만 입력하세요. TypeScript(tsc)가 알아서 "가장 표준적인" 설정 파일을 만들어줍니다.
450-
445+
"Moltbot은 대형 프로젝트라서 이미 설정이 다 되어있지만, **맨땅에서 시작하는 나만의 작은 앱**은 어떻게 시작하나요?"
446+
447+
**1. 은유(Metaphor): 새로운 국가를 세울 때의 "헌법 제정"**
448+
449+
백지에 그림을 그리는 것과 같습니다. 나라를 처음 세울 때, 우리 국민은 어떤 언어를 쓰고(Target), 주변 나라와는 어떻게 소통하며(Module), 범죄(Error)에는 얼마나 엄격할 것인지(Strict)를 정하는 **'국가 헌법'**을 만드는 과정이 바로 `tsconfig.json` 초기화입니다. 헌법이 모호하면 나라가 혼란에 빠지듯, 이 설정이 부실하면 개발 과정 내내 충돌이 일어납니다.
450+
451+
**2. 개념(Concept): 초기화의 두 가지 경로 (자동 vs 실전)**
452+
453+
TypeScript는 개발자가 처음부터 고생하지 않도록 **'표준 헌법 초안'**을 자동으로 생성해주는 도구(`npx tsc --init`)를 제공합니다. 초보자는 자동 생성된 초안에서 시작하고, 숙련자는 프로젝트의 목적(고성능 서버, 프론트엔드 등)에 맞춰 그 초안을 수정하여 사용합니다.
454+
455+
**3. 코드(Code): 헌법의 탄생과 핵심 3조항**
456+
457+
* **방법 A: 표준 초안 자동 생성 (권장)**
458+
터미널에 다음 명령어를 입력하면 수많은 주석과 함께 설정 파일이 생성됩니다.
451459
```bash
452460
npx tsc --init
453461
```
454-
455-
* **결과**: 수많은 주석이 달린 `tsconfig.json` 파일이 뿅! 하고 생깁니다.
456-
* **장점**: 각 옵션이 무엇을 의미하는지 주석으로 다 설명되어 있어서 공부하기 좋습니다. 내가 몰랐던 옵션들을 발견할 수 있습니다.
457-
458-
#### 2. 수동 생성 및 수정 (전문가가 되는 길)
459-
자동 생성된 파일은 "범용적"입니다. 하지만 OpenClaw(Moltbot)처럼 **고성능/최신 기술**을 쓰려면 몇 가지를 고쳐줘야 합니다.
460-
461-
* **어디서부터 시작하나요?**: 프로젝트의 **루트 디렉토리** (package.json이 있는 곳)에 파일을 만드세요.
462-
* **무슨 근거로 값을 정하나요? (The Rationale)**:
463-
1. **`target` (문법 수준)**: "내 서버의 Node.js 버전이 몇인가?"
464-
* Node 14 쓰면? -> `ES2020` (Node 14가 알아듣는 한계)
465-
* Node 20+ 쓰면? -> `ES2022` (최신 기능 다 써도 됨, 빠름)
466-
2. **`module` (소통 방식)**: "나는 최신식인가, 구식인가?"
467-
* 요즘 대세 -> `NodeNext` (ESM 기반, OpenClaw(Moltbot)이 쓰는 것)
468-
* 옛날 호환 -> `CommonJS`
469-
3. **`strict` (엄격함)**: "미래의 나를 믿는가?"
470-
* `true`: "나는 나를 못 믿는다. 컴파일러야, 조금이라도 이상하면 다 잡아내라." (**강력 추천**, 나중에 프로젝트 커져도 리팩토링 비용 0원)
471-
* `false`: "귀찮아, 대충 짜고 나중에 고칠게." (나중에 프로젝트 커지면 지옥 펼쳐짐)
472-
473-
**요약**: 작은 프로젝트라도 `npx tsc --init`으로 시작하고, `target: ES2022`, `module: NodeNext`, `strict: true` 이 세 가지만 켜주세요. 그러면 나중에 구글, 페이스북급으로 프로젝트가 커져도 끄떡없습니다.
474462
475-
---
463+
* **방법 B: 실전 프로젝트 핵심 설정 (수동 수정)**
464+
자동 생성된 파일에서 아래 **'핵심 3개 조항'**만은 반드시 확인하고 수정해 주세요.
465+
```json
466+
{
467+
"compilerOptions": {
468+
"target": "ES2022", // [제1조] 사용할 언어의 문법 수준 (최신 사투리 인정)
469+
"module": "NodeNext", // [제2조] 소통 규약 (최신 스마트폰 규격 사용)
470+
"strict": true // [제3조] 법 집행의 엄격함 (무관용 원칙)
471+
}
472+
}
473+
```
474+
475+
**4. 배경 및 실전 가이드(Context & Guide): 왜 이 3가지인가?**
476+
477+
* **`target: ES2022`인가?**: 과거에는 구식 브라우저를 위해 코드를 어렵게 번역해야 했습니다. 하지막 지금 우리가 만드는 서버(Node.js 22)는 똑똑합니다. 최신 문법을 그대로 써야 속도가 빠르고 코드가 깔끔해집니다.
478+
* **`module: NodeNext`인가?**: 자바스크립트 세계는 지금 '구식(CommonJS)''신식(ESM)'이 교체되는 과도기입니다. `NodeNext`"우리는 신식을 쓰되, 구식도 알아듣겠다"는 가장 현명한 중재안입니다.
479+
* **`strict: true`인가?**: "대충 짜고 나중에 고치지 뭐"라는 생각은 개발자의 가장 큰 착각입니다. 처음부터 엄격하게 관리하는 것이, 나중에 버그를 찾느라 밤을 새우는 것보다 100배 경제적입니다.
480+
481+
> [!TIP]
482+
> **요약**: 작은 프로젝트라도 `npx tsc --init`으로 시작하고, **Target(최신), Module(NodeNext), Strict(True)** 이 세 가지만 기억하세요. 이것만으로도 여러분의 프로젝트는 구글이나 메타(Facebook) 부럽지 않은 튼튼한 기초를 갖추게 됩니다.
476483
477484
#### 1-3-1. TypeScript 설정 (`tsconfig.json`) - 아키텍처 심층 분석
478485

0 commit comments

Comments
 (0)