innn

Node.js 이용해서 프론트엔드 개발 플젝 생성하기(feat. 어떤 때에 npm 스크립트에 run을 붙일까?) 본문

FE/프론트엔드 개발 환경

Node.js 이용해서 프론트엔드 개발 플젝 생성하기(feat. 어떤 때에 npm 스크립트에 run을 붙일까?)

33삼 2024. 4. 18. 11:14

프로젝트 생성해보기

mkdir sample-project
cd sample-project
npm init // 프로젝트를 생성하는 명령어

npm init을 하면 프로젝트의 메타 정보를 입력할 수 있는 환경이 뜸

패키지 name을 입력하라고 함 ⇒ 프로젝트 이름

괄호 안에는 디폴트 값이 있음. 버전 정보도 그렇고 마지막까지 엔터를 침

 

++ 갑자기 깨달은 사실. 이번에 처음으로 회사 프로젝트 프론트엔드 릴리즈를 내가 했는데, 이때 package.json에서 버전 정보를 내가 0.1 올려서 커밋하고 릴리즈한 게 생각났다. package.json이 프로젝트의 메타 데이터를 넣는 파일이구나를 이 package name 입력에서 새삼 깨달음. 항상 사이드 플젝에선 cra로 이름 넣어서 해서 몰랐음

 

그러면 package.json 파일이 하나 생성됨

{
  "name": "sample-project", // 프로젝트의 이름
  "version": "1.0.0", // 프로젝트의 버전 정보
  "description": "",
  "main": "index.js", // Node.js에서 쓰이는 main
  "scripts": { // 프로젝트를 자동화할 수 있는 쉘 스크립트를 입력 부분
    "test": "echo \\"Error: no test specified\\" && exit 1" // 실행 시엔 npm test를 입력하면 됨
  },
  "author": "",
  "license": "ISC"
}

"test": "echo \\"Error: no test specified\\" && exit 1"

  • Error: no test specified 이 문자열을 echo 명령으로 출력
  • exit 1 에러 코드 1번을 반환
  • 일종의 샘플 스크립트
  • ex) npm install ⇒ 서드파티 라이브러리를 설치하는 커맨드
  • 기본적으로 제공하는 커맨드 외에 추가하고 싶다면 script에 추가하면 됨
{
  "name": "sample-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \\"Error: no test specified\\" && exit 1",
    "build": "echo \\"여기에 빌드 스크립트를 추가합니다\\""
  },
  "author": "",
  "license": "ISC"
}
  • 저렇게 커스텀으로 만든 스크립트를 실행할 땐 run 한 다음 커맨드 이름을 적어준다.
mkdir sample
cd sample
npm init // 프로젝트를 생성하는 명령어

npm init을 하면 프로젝트의 메타 정보를 입력할 수 있는 환경이 뜸

패키지 name을 입력하라고 함 ⇒ 프로젝트 이름

괄호 안에는 디폴트 값이 있음. 버전 정보도 그렇고 마지막까지 엔터를 침

(갑자기 깨달은 사실. 이번에 프론트엔드 릴리즈를 내가 했는데, 이때 package.json에서 버전 정보를 내가 0.1 올려서 커밋하고 릴리즈한 게 생각났다. package.json이 프로젝트의 메타 데이터를 넣는 파일이구나를 이 package name 입력에서 새삼 깨달음. 항상 사이드 플젝에선 cra로 이름 넣어서 해서 몰랐음)

그러면 package.json 파일이 하나 생성됨

{
  "name": "sample-project", // 프로젝트의 이름
  "version": "1.0.0", // 프로젝트의 버전 정보
  "description": "",
  "main": "index.js", // Node.js에서 쓰이는 main
  "scripts": { // 프로젝트를 자동화할 수 있는 쉘 스크립트를 입력 부분
    "test": "echo \\"Error: no test specified\\" && exit 1" // 실행 시엔 npm test를 입력하면 됨
  },
  "author": "",
  "license": "ISC"
}

"test": "echo \\"Error: no test specified\\" && exit 1"

  • Error: no test specified 이 문자열을 echo 명령으로 출력
  • exit 1 에러 코드 1번을 반환
  • 일종의 샘플 스크립트
  • ex) npm install ⇒ 서드파티 라이브러리를 설치하는 커맨드
  • 기본적으로 제공하는 커맨드 외에 추가하고 싶다면 script에 추가하면 됨
{
  "name": "sample-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \\"Error: no test specified\\" && exit 1",
    "build": "echo \\"여기에 빌드 스크립트를 추가합니다\\""
  },
  "author": "",
  "license": "ISC"
}
  • 저렇게 커스텀으로 만든 스크립트를 실행할 땐 run 한 다음 커맨드 이름을 적어준다.
mkdir sample
cd sample
npm init // 프로젝트를 생성하는 명령어

npm init을 하면 프로젝트의 메타 정보를 입력할 수 있는 환경이 뜸

패키지 name을 입력하라고 함 ⇒ 프로젝트 이름

괄호 안에는 디폴트 값이 있음. 버전 정보도 그렇고 마지막까지 엔터를 침

(갑자기 깨달은 사실. 이번에 프론트엔드 릴리즈를 내가 했는데, 이때 package.json에서 버전 정보를 내가 0.1 올려서 커밋하고 릴리즈한 게 생각났다. package.json이 프로젝트의 메타 데이터를 넣는 파일이구나를 이 package name 입력에서 새삼 깨달음. 항상 사이드 플젝에선 cra로 이름 넣어서 해서 몰랐음)

그러면 package.json 파일이 하나 생성됨

{
  "name": "sample-project", // 프로젝트의 이름
  "version": "1.0.0", // 프로젝트의 버전 정보
  "description": "",
  "main": "index.js", // Node.js에서 쓰이는 main
  "scripts": { // 프로젝트를 자동화할 수 있는 쉘 스크립트를 입력 부분
    "test": "echo \\"Error: no test specified\\" && exit 1" // 실행 시엔 npm test를 입력하면 됨
  },
  "author": "",
  "license": "ISC"
}

"test": "echo \\"Error: no test specified\\" && exit 1"

  • Error: no test specified 이 문자열을 echo 명령으로 출력
  • exit 1 에러 코드 1번을 반환
  • 일종의 샘플 스크립트
  • ex) npm install ⇒ 서드파티 라이브러리를 설치하는 커맨드
  • 기본적으로 제공하는 커맨드 외에 추가하고 싶다면 script에 추가하면 됨

어떤 때에 npm, yarn 옆에 run을 붙였던 거냐? => 커스텀한 스크립트여서 그럼

{
  "name": "sample-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \\"Error: no test specified\\" && exit 1",
    "build": "echo \\"여기에 빌드 스크립트를 추가합니다\\""
  },
  "author": "",
  "license": "ISC"
}
  • 저렇게 커스텀으로 만든 스크립트를 실행할 땐 run 한 다음 커맨드 이름을 적어준다.
  • 그냥 npm build 하면 에러 남 Did you mean npm run build? 라고 친절히 확인도 해줌
  • npm run build로 실행이 됨. 즉 커스텀으로 만들어진 셸 스크립트엔 npm run을 붙여던 것