JSON
JavaScript Object Notation : 자바스크립트 객체 표기법
- 데이터를 전달하기 위해 사용되며(data-interchange language), 사람이 읽고 쓰기 쉽게 생겼다
- 키-값 쌍 형태(name/value pairs)
- 확장자는
.json
, 타입은 application/json
package.json
- NPM(Node Package Manager) 에서 의존성 모듈을 관리하기 위해 사용하는 명세서 파일
- 의존성 주입이란 어떤 것(객체)이 다른 것(객체)을 사용하거나 참조하도록 지정하는 것을 말한다. 쉽게 말해서, 패키지로 만들어져있는 어떤 모듈을 불러오기해서 내 코드에서 그 모듈의 기능을 사용한다는 의미다. 의존성 모듈은 한마디로 내가 불러와서 사용중인 모듈이라고 생각하자.
package.json
파일은 '불러올 어떤 기능'의 이름, 버전, 라이센스 등을 적어둔 명세서 파일이다
- npm에서 모듈을 다운받아 올 때,
package.json
파일에 적혀있는 정보에 따라 다운로드 된다.
About packages
A package is a file or directory that is described by a package.json
file. A package must contain a package.json file in order to be published to the npm registry.
왜 사용하나요?
- 모듈들은 꾸준히 업데이트 된다. 따라서 내가 코드를 작성할 때 사용한 모듈은 2.0.0 버전인데, 나중에 어떤 이유로 모듈을 재설치하게 되었다고 가정해보자. 재설치되는 모듈의 버전이 만약 3.1.0 이라서 기능 중 무언가가 달라졌다면? 내 코드가 작동하지 않을 수 있다...
- 따라서 명세서(설정 가이드)를 작성해두는 것이다.
📚 참고자료
- 이웅모, 모던 자바스크립트 Deep Dive(ebook:위키북스, 2020), pp.818 - 821
- MDN, "JSON", MDN Web Docs, 2023년 2월 27일(참조일), https://developer.mozilla.org/ko/docs/Glossary/JSON
- 위키백과, "JSON", 위키백과, 2023년 2월 27일(참조일),https://ko.wikipedia.org/wiki/JSON
- 위키백과, "npm (소프트웨어)", 위키백과, 2023년 2월 27일(참조일),https://ko.wikipedia.org/wiki/Npm_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)
- npm, "About packages and modules", npm Docs, 2023년 2월 27일(참조일), https://docs.npmjs.com/about-packages-and-modules