chap95 / TS_study

JS 와 TS 스터디
1 stars 1 forks source link

2회차 #3

Closed heozeop closed 3 years ago

heozeop commented 3 years ago

(1~3번) 다음 예시 tsconfig를 보고, 상황에 알맞은 해결책을 제시해주세요.

{
   "compilerOptions": {
     "module": 'commonjs',
   },
   "files": [
     'main.ts',
   ]
}
  1. 아래 코드 조각에서 발생하는 에러를 해결하기 위해선, tsconfig파일을 수정하는 방법이 있습니다. 어떤 부분을 수정해야 될까요?
    
    // say hello.ts
    import { hello } from 'moduleA'

export function sayHello() { console.log(hello); }

// 발생한 에러 TS2307: Cannot find module 'moduleA'


2. `main.ts`파일과 `sub.ts`파일을 컴파일 하고자 합니다. 아래와 같은 명령어를 커멘드라인에 입력한 경우, `sub.ts` 파일만 컴파일이 됩니다. 왜 그렇고, 어떻게 명령어를 고치면 될까요?
```shell
tsc sub.ts
  1. 위 컴파일러 옵션을 수정하여 ES2015Map을 사용할 수 있도록 변경하는 방법을 알려주세요.

  1. 아래에 제시된 상황들 중 컴파일러 옵션의 strict옵션으로 확인이 불가한 상황을 골라주세요.

    1. null과 관련된 에러가 계속 발생합니다.
    2. 클래스의 초기화 되지않은 프로퍼티로 인해 오류가 계속 발생합니다.
    3. switch문에서 case에 break/return을 하지 않는 실수가 발생합니다.
    4. class 에서 this가 global object를 가리킵니다.
luceinaltis commented 3 years ago
  1. files 옵션 혹은 include 옵션에 대해 moduleA 경로를 포함시킨다.

  2. tsc는 컴파일러라 뒤에 파일 경로를 붙이면 해당 경로만 컴파일합니다. 그러므로 tsc */.ts와 같이 명령어를 수정하면 됩니다.

  3. { \"compilerOptions\": { \"module\": 'ES2015', }, \"files\": [ 'main.ts', ] } 로 수정합니다.

  4. 4번..?

chap95 commented 3 years ago
  1. files 속성에 moduleA 파일을 추가?
  2. tsc src/*.ts // src 폴더 안에 두 파일을 넣는다? tsc 명령어는 해당 파일만 트랜스파일
  3. target 을 es5 로 고친다?
  4. 3
chap95 commented 3 years ago

2회차 완료