Github에서 직접 NPX 스크립트를 실행합니다. 나만의 CLI 명령 및 기타 스토리 만들기

이것은 짧은 읽을 거리가 될 것입니다. 아마도 그렇게 약속할 수는 없지만 최소한 가능한 한 재미있게 만들 것입니다.

먼저 NPX란 무엇이며 CLI 명령은 무엇입니까?
NPX는 CLI 스크립트가 포함된 NPM 패키지를 실행하기 위한 명령줄 도구입니다.
CLI 명령은 이름으로 명령줄에서 실행할 수 있는 프로그램입니다(예: gcc 또는 cd 또는 ls 등).

NodeJ에는 NPM 스크립트에서만 실행할 수 있는 CLI 명령을 생성하는 옵션이 있습니다. npm run <script name>를 기억하십니까?
이에 대한 좋은 예는 tsc, babel 또는 webpack입니다.scriptspackage.json 섹션에서 스크립트 내부에서 호출됩니다.

기사의 나머지 부분에서는 NodeJs 및 NPX가 글로벌 패키지로 설치되어 있어야 합니다. 모든 NodeJs > v5.0에는 NPX가 이미 설치되어 있어야 하지만 작동하지 않으면 항상 실행할 수 있습니다npm install -g npx.

NPX's Github page 에서 다음 명령을 터미널에서 실행할 수 있습니다. npx github:piuccio/cowsay JavaScript FTW! .
다음과 같은 메시지가 표시되어야 합니다.

 _________________
< JavaScript FTW! >
 -----------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


이 명령은 패키지를 임시 폴더에 설치하고 저장소와 동일한 이름으로 명령을 실행합니다.
npx cowsay JavaScript FTW! 명령은 NPM에도 패키지가 있기 때문에 잘 작동합니다.

사용 방법을 다루었으므로 다음으로 CLI(또는 NPM 사용)에서 사용할 수 있는 명령을 작성하는 방법을 배워야 합니다.

시간을 절약하기 위해 지침을 나열하겠습니다.
  • 새 폴더 만들기
  • 폴더에서 터미널 열기
  • package.json - npm --init를 사용하고 기본값을 수락하거나 이름, 설명, 라이센스 등과 같은 입력을 사용자 정의할 수 있습니다.
  • 응용 프로그램의 기본 파일 만들기 - index.js라는 파일을 만듭니다.
  • package.json에서 명령 섹션을 추가합니다.

  • "bin": {
            "awesome-command": "index.js",
        }
    


  • 첫 번째 줄index.js#!/usr/bin/env node를 추가합니다.
    예를 들어:

  • #!/usr/bin/env node
    console.log("Awesome Command");
    


  • 잘했어 이제 패키지를 게시하고 설치하면 사용할 수 있게 되지만... 급하게 작동하는지 확인하고 싶을 뿐이라고 가정해 보겠습니다. 하다? 우리npm link . 이 명령은 -g 플래그로 설치한 것처럼 전역 패키지에 추가합니다.
  • 모든 터미널에서 awesome-command를 실행하면 Awesome Command
  • 가 인쇄됩니다.

    Sooo, NPX가 어떻게 도움이 되나요? 우리는 이미 모든 터미널에서 명령을 실행할 수 있습니다. 글쎄요, 그것은 사실입니다. 그러나 지금만 그리고 확실히 항상 그런 것은 아닙니다.

    패키지를 로컬에 설치했다면 터미널에서 실행awesome-command할 수 없었고 작동할 것으로 예상하지 못했을 것입니다. 다음과 같이 scriptspackage.json 섹션에 추가해야 했습니다.

    "scripts": {
        "awesome": awesome-command
      },
    


    그런 다음 npm run awesome 또는 ... 실행 npx awesome-command .

    이제 좋은 부분이 나옵니다. 인터넷을 통해 명령을 사용할 수 있게 하려면 어떻게 해야 할까요?

    그렇다면 우리는 npm 패키지를 게시하고 누구나 선택할 수 있습니다.npm -install <package> 그것 또는 npx <package> . 패키지 이름과 일치하는 명령 중 하나만 기억하십시오.

    하지만 패키지를 게시하고 싶지 않다면 어떻게 해야 할까요?
    그런 다음 새 저장소의 Github에서 패키지를 호스팅할 수 있으며 누구나 npm -install user/<repository>를 사용하여 패키지를 설치하거나 npx github:<user>/<repository>를 사용하여 실행할 수 있습니다. bin 섹션의 명령 중 하나가 저장소 이름과 일치하도록 다시 기억하십시오.

    명령이 추가 인수를 허용하면 명령 이름 뒤에 항상 추가할 수 있습니다(예: npx github:<user>/<repository> arg1 arg2 ).

    제가 글을 쓰면서 즐거웠던 만큼 여러분도 글을 재미있게 읽으셨기를 바랍니다.

    좋은 웹페이지 즐겨찾기