2013-01-25 2 views
4

전 세계적으로 설치 될 Node.js 용 모듈을 작성하고 싶습니다. C++ (또는 다른 것)을 쓰지 않고 일반 Node.js 코드를 작성하고 싶습니다.전역 적으로 설치된 Node.js 모듈을 직접 호출하십시오.

기본적으로 매우 쉽습니다. 모듈을 작성하고 npm install -g을 사용하여 설치하십시오.

이제 대부분의 글로벌 설치 모듈은 직접 호출 할 수 있습니다. 명령 프롬프트에서 express을 입력하고 Express에 전역 적으로 설치된 응용 프로그램 부트 스트 래퍼를 실행할 수 있습니다.

내 질문은 : 어떻게 이것을합니까?

모듈을 단순히 전역으로 설치하면이 파일 중 하나를 실행 파일로 사용할 수 없으며 해당 파일을 PATH에 저장합니다.

이 작업을 수행하기 위해 수행해야 할 단계는 무엇입니까?

내 질문은 기본적으로 : "일반적인"Node.js 모듈에서 전역 적으로 사용 가능한 실행 파일을 만들려면 수행해야 할 단계는 무엇입니까?

+0

답변입니다 - https://github.com/visionmedia/express/blob/master/package.json#L49. – elmigranto

+0

@elmigranto 대답에 대해 자세히 설명해 주시겠습니까? –

답변

10

실행 파일을 작성해야합니다. 이것은 사용자가 명령을 입력 할 때 실행될 것입니다. 여기 JSHint에서 가져온 예는 다음과 같습니다

#!/usr/bin/env node 

require("./../src/cli/cli.js").interpret(process.argv); 

협약은 프로젝트의 루트에 디렉토리에이 파일을 배치했다. 그런 다음 당신의 package.json에게 당신의 실행 파일을 찾는 방법을 알려줄 수 파일을 업데이트해야합니다 :이 경우

{ 
    "bin": { 
     "jshint": "./bin/jshint" 
    } 
} 

를, 실행 파일은 jshint 명령을 터미널에서 실행할 수 있습니다. 그것이 실행될 때, 그것은 단순히 다른 파일을 필요로하고 어떤 커맨드 라인 인자를 통과하면서 그것 안에 메소드를 호출합니다.

+0

''bin ": {"jshint ":"./bin/jshint "}'가 package.json에 없으면 어떤 영향이 있습니까? –

관련 문제