TypeScript Deep Dive
  • README
  • 시작하기
    • 왜 타입스크립트인가
  • 자바스크립트
    • 비교 연산자
    • 참조 연산자
    • Null vs. Undefined
    • this
    • 클로저
    • Number
    • Truthy
  • 미래의 자바스크립트
    • 클래스
      • 즉시실행함수
    • 화살표 함수
    • 나머지 연산자
    • let
    • const
    • 비구조화 할당
    • 전개 연산자
    • for...of
    • 이터레이터
    • 템플릿 리터럴
    • 프로미스
    • 제네레이터
    • Async Await
  • 프로젝트
    • 컴파일러 제어
      • tsconfig.json
      • 파일 경로 지정
    • 선언
    • 모듈화
      • 파일을 이용한 모듈화
      • globals.d.ts
    • 네임스페이스
    • 동적 표현식 가져오기
  • Node.js 시작하기
  • Browser 시작하기
  • 타입스크립트 타입 시스템
    • 자바스크립트 마이그레이션 가이드
    • @types
    • 주변 선언
      • 파일 선언
      • 변수
    • 인터페이스
    • 열거형(Enums)
    • lib.d.ts
    • 함수
    • 콜러블(Callable)
    • 타입 표명(Type Assertion)
    • 신선도(Freshness)
    • 타입 가드
    • 리터럴(Literal)
    • 읽기 전용(readonly)
    • 제네릭
    • 타입 인터페이스
    • 타입 호환성
    • Never 타입
    • 구별된 유니온
    • 인덱스 서명(Index Signature)
    • 타입 이동하기
    • 예외 처리
    • 믹스인(Mixin)
  • JSX
    • React
    • Non React JSX
  • Options
    • noImplicitAny
    • strictNullChecks
  • 타입스크립트 에러
    • 에러 메세지
    • 공통 에러
  • NPM
  • 테스트
    • Jest
    • Cypress
  • Tools
    • Prettier
    • Husky
    • ESLint
    • Changelog
  • 팁
    • 문자열 Enums
    • 타입 단언
    • 상태 저장 함수
    • 커링
    • 제네릭 타입 예시
    • 객체 타입 설정
    • 유용한 클래스
    • Import / Export
    • 속성 Setters
    • outFile 주의사항
    • 제이쿼리 팁
    • 정적 생성자
    • 싱글톤 패턴
    • 함수 파라미터
    • 토글 생성
    • Import 여러개 하기
    • 배열 생성
    • 생성자에서 타입정의
  • 스타일 가이드
  • 타입스크립트 컴파일러 구조
    • Program
    • AST
      • TIP: Visit Children
      • TIP: SyntaxKind enum
      • Trivia
    • Scanner
    • Parser
      • Parser Functions
    • Binder
      • Binder Functions
      • Binder Declarations
      • Binder Container
      • Binder SymbolTable
      • Binder Error Reporting
    • Checker
      • Checker Diagnostics
      • Checker Error Reporting
    • Emitter
      • Emitter Functions
      • Emitter SourceMaps
    • Contributing
Powered by GitBook
On this page
  • 보너스: Live compile + run (실시간 컴파일 + 실행)
  • 보너스 포인트

Was this helpful?

Node.js 시작하기

타입스크립트는 처음부터 Node.js에 대해 first class를 지원했습니다. 빠르게 Node.js로 프로젝트를 구성하는 방법은 다음과 같습니다.

메모: 이러한 많은 단계는 일반적인 Node.js 설정 단계입니다.

  1. Node.js 프로젝트 설정에는 package.json이 필요합니다. 이 파일을 빠르게 생성하는 방법은 npm init -y

  2. 타입스크립트를 추가 (npm install typescript --save-dev)

  3. node.d.ts를 추가 (npm install @types/node --save-dev)

  4. 타입스크립트 옵션은 tsconfig.json을 이용해서 초기화하고 설정할수 있습니다. (npx tsc --init --rootDir src --outDir lib --esModuleInterop --resolveJsonModule --lib es6,dom --module commonjs)

타입스크립트는 node modules에 설치된 모든것을 (예: import * as fs from 'fs';)를 이용해서 안전하게 가져올수 있습니다.

타입스크립트 src에 있는 모든 코드는 자바스크립트의 lib에 생성됩니다.

보너스: Live compile + run (실시간 컴파일 + 실행)

  • ts-node는 어떤것이든 실행이후 실시간 컴파일을 지원합니다. 추가는 (npm install ts-node --save-dev)

  • nodemon은 ts-node가 파일이 변경될때마다 동작합니다. 추가는 (npm install nodemon --save-dev)

package.json에서 script를 지정할 수 있고 기본적인 진입점을 가정하면 예:index.ts:

  "scripts": {
    "start": "npm run build:live",
    "build": "tsc -p .",
    "build:live": "nodemon --watch 'src/**/*.ts' --exec \"ts-node\" src/index.ts"
  },

이제 npm start를 실행하면 index.ts를 수정할 수 있습니다.

  • nodemon이 해당 명령어를 재실행합니다. (ts-node)

  • ts-node 트랜스파일이 tsconfig.json 및 설치된 타입스크립트 버전을 자동으로 선택합니다.

  • Node.js를 통해 ts-node가 실행되면 자바스크립트를 출력합니다.

자바스크립트 애플리케이션을 배포할 준비가 되면 npm run build를 실행하십시요.

보너스 포인트

앞에서 이미 언급한 NPM 모듈은 browserify에서 (tsify) 사용하거나 웹팩에서 (ts-loader)를 사용

Previous동적 표현식 가져오기NextBrowser 시작하기

Last updated 3 years ago

Was this helpful?