🟩 npm
npm은 node Pacakge Module입니다. npm 사이트에서 필요한 라이브러리를 다운받을수 있게해주는 명령어 입니다.
🟩 npx
npx는 새로운 패키지 관리 모듈이 아닙니다. npm을 좀 더 편하게 사용하기 위해서 npm에서 제공해주는 하나의 도구입니다.
자바스크립트 패키지 관리 모듈인 npm(Node Package Module)의 5.2.0 버전부터 새로 추가된 도구입니다.
따라서 npm@5.2.0 이상 버전만 깔려 있다면 npx 명령어를 사용할 수 있습니다.
npx 는 패키지를 임시 설치해서 "실행"하는 용도입니다!
예를 들어 react 와 같은 library 를 설치할 수는 있지만 실행이 안 되므로 npx로 설치가 불가능합니다.
만약 npx 로 react를 설치할거라면 create-react-app 라는 명령어로 사용해, CRA 가 알아서 react 를 설치하게 만들어야 합니다. npx 자체로는 불가능합니다
🟦 패키지 임시 설치 및 실행
만약 typescript가 깔려있지 않고 ts 파일만 있을 때 ts 파일을 커맨드로 실행시키고 싶다면
npx ts-node test11이란 명령어를 쳐줍니다.
ts-node는 node가 typescript를 이해시킬 수 있는패키지 인데요. npx로 굳이 설치하지 않고도 파일을 실행시킬 수 있습니다.
ts-node가 test11.ts란 파일을 컴파일해서 js로 만든다음 node로 읽는 과정을 npx로 손쉽게 할 수 있습니다.
👀 동작원리는 이렇게 됩니다.
- 기본적으로 실행되어야할 패키지가 경로에 있는지 먼저 확인합니다. (/node_module 밑에 파일 확인)
- 경로에 파일이 있다면 경로 파일 실행합니다.
- 없다면 npx가 최신 버전의 패키지를 잠깐 설치합니다.
ts-node가 임시로 설치되고 실행까지 된 다음 사라지게 됩니다.
패키지를 다운 받았다면, node-modulus 라는 폴더가 생겨야 하는데,
npx 이후에는 마치 node 프로젝트를 방금 시작한 것처럼 package.json 만이 존재합니다.
'웹 > Nodejs' 카테고리의 다른 글
[Node] nodemon이나 tsc-watch에서 파일 변경을 감지하고 다시 시작을 못할 때 (0) | 2024.12.05 |
---|---|
[npm] Error: EPERM: operation not permitted, mkdir '\node_modules' 에러가 날 때 (0) | 2023.03.15 |
🟩 sequelize에서 bulkUpdate할 때 필요한건 unique 키!! (0) | 2022.12.26 |
✅ [Nodejs] Sequelize에서 값 증가,감소 update 하기 (0) | 2022.12.20 |
✅ [Nodejs] Swagger를 express, Typescript에 적용하기 (0) | 2022.12.08 |