보뇨 다이어리

jsconfig.json 에 대한 이해 본문

프론트엔드

jsconfig.json 에 대한 이해

보뇨 2020. 4. 19. 09:26
반응형

설정파일에 대해 매번 일일히 찾는것도 싫고 모르는채 사용하는것도 싫기때문에 앗싸리 시간을 잡고 공부해본다!
우선 jsconfig.json 파일인데 이건 뭐에 쓰는건지 도통 몰라서 문서를 통해서 무엇인지 파악해본다

jsconfig.json 이란?

내가 이해하기론...ide 에서 도움을 받도록 설정을 하는 그런 기본적인 설정파일이라고 이해했다...플러그인같은게 아니라 그래서 왜 우리가 이 파일을 작성해야하는지 설명이 짧게 나와있는데 해당 파일이 없는 프로젝트에서는 ~.js 과 해당 파일의 .d.ts 파일을 명시적으로 참조하지 못하기때문에 두 파일 사이에 공통점을 찾을수없다? 뭐 이런거고 있을경우에는 반대인것이구

속성

특별히 소개된 속성들에 대해서 기록한다

exclude

특정 폴더나 파일의 소스는 내가 사용할게아니라면 자동완성? 등의 속도를 높이기 위해 쓰는 속성이라고 한다 만약 검색속도가 느리면 이렇게 빼라는데 그렇게 큰 웹사이트는 본적이 없어서 잘 모르겠다 참고로 VSCode 에서는 jsconfig.js 파일이 없어도 자동으로 node_modules 파일을 exclude 한다고한다.

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6"
  },
  "exclude": ["node_modules"]
}

include

위와는 반대되는개념인데 내가 사용할 프로젝트 소스에 넣는 그런 속성이라고 생각하면된다. 어차피 안써도 기본 루트폴더 내에 있는것이 포함되기때문에 안써도 무방하지만 뭐 별도로 추가할곳이 있다면 써야할듯

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6"
  },
  "include": ["src/**/*"]
}

compilerOptions

그외부분은 모두 compilerOptions 내에 속성관련 내용이라..물론 세부적으로 들어가면 많은 속성들이 존재하지만 막상 쓸만한 속성들은 별로 없는거같다
가령 moduleResolution 과 같은 경우에는 classic, node 가 있다는데 import 할때 확장자 상관없이 파일이름으로 검색을 하는것은 node 이고 반대가 classic 이라고 한다. 최근엔 호환성때문에 classic 을 남겨두고 현재는 node 를 많이 쓴다고 한다


출처

1.visual studio code 문서
2.moduleResolution 설명 블로그

반응형

'프론트엔드' 카테고리의 다른 글

CORS 문제해결하기  (0) 2020.05.03
Error: Cannot find module 'internal/util/types' 에러  (0) 2019.09.27