본문 바로가기
컴퓨터 사이언스/TIL 정리

MGS Day-12

by 메리뉴데이 2022. 7. 13.

 

function getType에서 메소드 체이닝으로 slice(8, -1)을 한 이유는 원래 [object Number] 이런 식으로 출력되는 것을앞의 [object와 뒤의 ]를 잘라내어 앞에 나오는 object를 제거하고 보려고 하는 것이니 중요한 것은 아님

 

자바스크립트의 typeof의 명령어로는 명확한 자료형이 나오지 않기 때문에,

getType이라는 함수를 개별적으로 만들어 명확한 자료형을 확인해 본 것이다.

 

 

이 때의 getType이라는 함수를 따로 파일에 저장하고 각각의 자바스크립트 파일에서 불러올 수도 있다.

getType 함수를 따로 저장할 때 그 앞에 export default(다른 파일에 내보낼 기본 함수)를 붙여 준다. 

 

 

 

 

 

 

 

 

이렇게 이것저것 JS를 실습하다 다른 자바스크립트 파일에서 자바스크립트 파일로 import해오면서 이슈 발생.

 

개념을 분명히 이해 못했구나 싶은 생각이.

 

그래서 다시 node.js 복습각...

 

nvm ls 으로 내가 다운 받은 node.js 버전 확인. 현재 16.16.0 사용

 

 

 

노드를 사용할 수 있는 상태이니까, node --version 현재 사용 노드 버전 다시 확인 가능.

 

nvm은 노드의 버전을 관리해주는 도구로,

             노드의 버전을 새로이 설치할 수도, 삭제할 수도, 무슨 버전들이 있는지, 현재 어떤 버전으로 사용할 지 설정하는데 사용한다.

 

 

 

npm은 프로젝트 폴더이름으로 프로젝트를  패키지(=소프트웨어, 프로그램, 애플리케이션) 관리를 하기 위해 실행한다. 

마치 앱스토어와 비슷한데, 이 npm을 통하여 필요한 프로그램을 검색하고, 설치하고, 삭제하고 , 업데이트를 할 수 있다 !

창고에 저장된 수많은 프로그램들을 사용한다고 생각하면 된다 :)

npm은 node.js를 깔면 저절로 같이 다운이 된다.

 

npm init [-y]를 하면 프로젝트 폴더 안에 package.json 파일이 자동으로 생성되고, 내가 직접 파일을 만들어 작성할 수도 있다.

 

package.json 파일은 프로젝트에 대한 정보를 갖고 있는 파일로, dependencies와 같은 속성을 활용하여 프로젝트에 의존된 패키지를 관리한다.

 

속성 설명
name 프로젝트 이름(보통 프로젝트 폴더명) / 필수
version 프로젝트 버전을 정의, 주로 3단계 버전 형식 / 필수
description 프로젝트에 대한 설명, npm search에서 검색될때 보여지는 내용
keywords 프로젝트 검색할 때 참조되는 키워드, 검색 리스트에 표시됨
private true로 설정시 npm 게시되지 않음
main main은 프로그램의 기본 진입점
scripts 프로젝트에서 자주 실행하는 명령어를 작성해두면, npm 명령으로 실행 가능해짐
author 제작자 이름
license 패키지에 대한 라이선스를 지정
dependencies - 프로젝트에서 사용하는(의존하는) 모듈을 기술, 프로젝트가 사용하는 모듈을 한 눈에 볼 수 있음
- 애플리케이션을 설치할 때 이 내용을 참조하여 필요한 확장 모듈을 자동으로 설치하므로, 개발한 애플리케이션에서 사용하는 모듈은 여기에 꼭 명시해줌
devDependencies 개발할 때만 의존(사용)하는 모듈을 관리한다. 따라서, 전역인 터미널에서 작동을 안하므로 스크립트로 명령어를 설정해서 터미널에서 사용 가능하게 할 수 있음
ex. devDependencies에 설치한 parcel-bundler ; 터미널에서 parcel 명령어가 작동하지 않으므로, scripts에 dev란 속성(개발 서버 열기) 설정하고 값에 "parcel index.html" 넣어준 뒤 터미널에서 npm run dev와 같은 방식으로 사용  

 

 

node_modules 디렉토리에는 package.json에 설치된 모듈 뿐만 아니라, package.json에 있는 모듈이 의존하고 있는(package-lock.json) 모듈 전부가 설치된 디렉토리이다.

 

 

package-lock.json은 프로젝트에 설치된 모듈들의 의존(사용)성 트리를 기록하고 있으며,

이 package-lock.json 파일을 참고하여 node_modules 디렉토리 안에 모듈을 다운받는다.

 

 cf. package.json은 패키지에 관한 정보를 내가 관리한다고 하면, 

       package-lock.json은 자동으로 관리되는 것으로 내가 설치한 패키지의 관련된 패키지 등까지의 모든 연관 정보를 저장하고 있다.

 

 

 

npm 명령어

 

명령어 설명
npm init 새로운 프로젝트(패키지)를 시작할 때 사용하는 명령어, package.json 파일 생성
npm init -y -y 옵션을 사용해 기본값을 자동으로 설정
npm install <패키지명>  [i로 축약 가능] 패키지(라이브러리, 모듈) 설치 명령 (로컬에 설치)
npm install<패키지명@버전> 패키지의 특정 버전을 설치하고 싶을 때 사용하는 명령
npm install --save  [-S로 축약 가능] --save 옵션을 사용하면 dependencies에 추가됨, 일반용 의존성 패키지 설치(웹브라우저에서도 동작하는 패키지) (npm@5 버전 이후로 기본 적용됨) 
npm install --save-dev [-D로 축약 가능] devDependencies에 추가됨, 개발용 의존성 패키지 설치(개발할 때만 필요한 패키지)
npm install <패키지명1>  <패키지명2> 여러 개 설치
npm install -g <패키지명> 전역 설치 (또는 --global)
npm install package.json에 설정된 모든 패키지를 설치
npm install --production package.json에 설정된 모든 패키지를 설치, 단 devDependencies 제외
npm uninstall <패키지명> 로컬 패키지 삭제
npm uninstall -g <패키지명> 전역 패키지 삭제
npm update <패키지명> 설치한 패키지를 업데이트
npm root 로컬 패키지 설치 디렉토리 확인
npm root -g 전역 패키지 설치 디렉토리 확인
npm ls 로컬 설치된 패키지 확인
npm ls -g 전역 설치된 패키지 확인
npm start package.json 파일의 script 속성의 start 실행
npm run <script-name> package.json 파일의 script 속성의 start외 스크립트 실행

 

 

 

 

 

 

패키지(라이브러리)를 검색해서 다운받을 수 있는 사이트

https://www.npmjs.com/

 

npm

Bring the best of open source to you, your team, and your company Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of Java

www.npmjs.com

 

 

 

 

 

 

 

 

 

 

 

 

'컴퓨터 사이언스 > TIL 정리' 카테고리의 다른 글

MGS Day-14  (0) 2022.07.15
MGS Day-13  (0) 2022.07.15
MGS Day-11  (0) 2022.07.12
MGS Day-10  (0) 2022.07.11
MGS Day 09  (0) 2022.07.08