programing

npm을 사용하여 bash 스크립트 실행

muds 2023. 4. 11. 22:40
반응형

npm을 사용하여 bash 스크립트 실행

npm을 사용하여 웹 어플리케이션의 다양한 빌드 태스크를 실행해 보고 싶습니다.이 작업을 수행할 수 있습니다.scripts내 필드로package.json다음과 같이 합니다.

"scripts": {
   "build": "some build command"
},

옵션이 여러 개 있는 복잡한 명령어를 사용하면 이 작업이 어려워집니다.이러한 명령어를 bash 스크립트 또는 그 라인에 따라 이동할 수 있습니까?예를 들어 다음과 같습니다.

"scripts": {
   "build": "build.sh"
},

어디에npm run build에 있는 명령어를 실행합니다.build.sh파일링?

이 게시물을 읽어보니 그런 것 같은데, 정확히 어디에다 떨어뜨려야 할지 모르겠어요.build.sh아니면 제가 뭔가 빠뜨린 게 있는지요

그건 완전히 가능해...

"scripts": {
   "build": "./build.sh"
},

또한 bash 파일의 맨 위에 해시 뱅을 넣는 것을 잊지 마세요.#!/usr/bin/env bash

또한 파일을 실행할 수 있는 권한이 있는지 확인합니다.

chmod +x ./build.sh

마지막으로 build in npm을 실행하는 명령어는 다음과 같습니다.

npm run build

권한을 부여하지 않고 스크립트를 실행하는 환경(예: sh)을 사용하는 경우 다음과 같이 할 수 있습니다.

"scripts": {
   "build": "sh ./build.sh"
}

한층 더 심플화:

PoC는 VCS를 사용하지 않고 일회성으로 이 작업을 수행합니다.

package.json
{
    "scripts": {
        "ship": "rsync -avz deployable/* <some-server>:/var/www/some-site/sub-dir/"
    },
}
...
  • file_name 앞에 'bash' 키워드를 추가합니다.

    "scripts": { "build": "bash ./file_name.sh" }

  • 그런 다음 터미널에서 "npm run build"를 실행합니다.

누군가가 이것을 보고 Docker를 사용하여 이 응용 프로그램의 이미지를 만들고 있는 경우.

설명:

근데 정확히 어디서 내 체격을 떨어뜨려야 할지 모르겠어sh 파일

몸집을 버리기로 마음먹은 곳이 어디든지.sh file 이 Dockerfile 이미지 출력에 포함되어 있는지 확인합니다.즉, 파일 경로가 Dockerfile 내의 COPY 명령 중 하나에 있는지 확인합니다.

예를 들어, 예를 들면

scripts {
  "build": "./scripts/build.sh"
}

그러면 Docker file에는 다음과 같은 COPY 명령어는 다음과 같습니다.

COPY scripts/build.sh scripts/

언급URL : https://stackoverflow.com/questions/34937724/running-bash-scripts-with-npm

반응형