TypeScript 프로젝트를 라이브러리 모드로 빌드할 때 TS2742 오류를 마주하는 경우가 있습니다. 이 오류는 주로 내부에서 사용되는 타입이 외부로 제대로 내보내지지 않아 발생합니다. 특히 lottie-web과 같은 라이브러리를 사용할 때 흔히 볼 수 있으며, 이 포스팅에서는 이 문제의 원인과 해결 방법을 다룹니다.🧐 오류의 원인TS2742: The inferred type of '...' cannot be named without a reference to '...' 오류는 다음과 같은 이유로 발생합니다.라이브러리 모드의 d.ts 생성 규칙: TypeScript는 라이브러리 모드에서 .d.ts 파일을 생성할 때 외부로 export된 대상에 대해서만 타입 정의를 만듭니다.내부 전용 타입 누락: 만..
00. TL;DRVite + TypeScript 환경에서 alias를 설정하려면 Vite 설정, tsconfig 설정, 그리고 Node.js 런타임이 필요할 경우 module-alias 설정까지 고려해야 합니다.각 설정의 역할과 사용 시점을 정확히 이해하면 다양한 환경에서 일관된 경로 사용이 가능합니다.01. Alias란?01.01. 개념 설명Alias(별칭)는 파일 import 시 상대 경로(../../../ 등)를 짧고 의미 있는 문자열로 치환해주는 기능입니다.// 일반 상대경로 방식import Header from '../../../../components/Header';// alias 방식import Header from '@/components/Header';01.02. 도입 이유경로 가독성 향..
00. TL;DRTypeScript는 직접 실행되지 않고 JavaScript로 변환(Transpile)된 후 실행됩니다.TypeScript 컴파일 단계TypeScript 코드를 작성하면 AST(추상 구문 트리)가 생성됨타입 검사(Type Checking) 수행타입 정보를 제거한 JavaScript 코드로 변환됨 (.js 파일 생성)브라우저(JavaScript 엔진) 실행 단계JavaScript 파일을 파싱하고 AST 생성바이트코드 변환 및 최적화 수행 (JIT Compilation)실행 (인터프리터 및 최적화된 머신 코드로 처리) 01. 개요TypeScript와 JavaScript는 실행 과정이 다릅니다.이 문서에서는 TypeScript의 컴파일 과정과 브라우저(JavaScript 엔진)의 실행 과정을 ..
- Total
- Today
- Yesterday
- webpack
- 바이트 코드
- pakage-lock.json
- double-linked-list
- JIT
- vue
- interning
- react
- library mode
- primitive
- object literal
- prototype
- uselazyasyncdata
- npm ci
- react-router
- ViTE
- 모노레포 스크립트
- pnpm 명령어
- string table
- refrerence
- vee-validate
- bundler
- JavaScript
- nuxt
- TypeScript
- useasyncdata
- string
- scoped slot
- premitive
- deep dive
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
