2016-06-09 5 views
3

여러 개의 API 데이터를 가지고 JSON 파일을 생성하는 노드 모듈을 만들었습니다. JSON 파일을 CMD/Terminal에있는 모든 디렉토리에 저장할 수 있도록 설계되었습니다.다른 노드 모듈의 package.json에 기존 스크립트 별칭을 사용할 수 있습니까?

프로젝트로 자체적으로 성공적으로 실행할 수는 있지만, 내 프로젝트에서 독립적으로 개발했습니다. 기본 프로젝트에 설치되었지만 package.json이있는 곳에서만 실행할 수 있습니다. 내 스크립트 별칭이있는 곳이기 때문입니다.

거기 JSON 파일을 사용할 필요가 다른 노드 모듈은,하지만 난 CMD/Terminal의 다른 모듈의 루트 디렉토리로 이동 한 후 노드가 사용하고자하는 해당 모듈의 package.json하고 있지 않기 때문에 스크립트 별칭을 찾을 수 없습니다 거기에 존재한다.

프로젝트가 프로토 타입이어서 지속적으로 추가되기 때문에 모든 모듈에 스크립트 별칭을 추가하는 것은 해결책이 아닙니다.

package.json이 주 프로젝트에서 어디에서 실행되는지에 관계없이 스크립트 별칭으로 참조되고 사용되는 방법이 있습니까?

이 문제를 잘못 풀려고합니까? 어떤 도움이라도 대단히 감사하겠습니다. 이것이 내 첫 번째 질문입니다. 그래서 내가 무엇을 잘못했는지 알려면 제게 알려주십시오. 미리 감사드립니다.

+0

구현 클라이언트가 문제의 모듈에 대한 구성을 주입하도록 허용하지 않는 이유는 무엇입니까? 이것은 Node에서 매우 일반적인 패턴이며 여기에 맞는 것처럼 들립니다. – peteb

+0

@peteb 아마이 시점에서 대부분 개발 도구가 될 것이라고 언급 했어야합니다. 내가 언급 한 것처럼이 프로젝트는 프로토 타입이다. CLI에서 실행하면 데이터 구조와 속성이 나머지 앱의 개발 방식과 일치하는지 확인할 수 있습니다.그것이 가능 해지면 이미 모듈화 된 환경에서 작동하는 코드에 있기 때문에 객체를 생성하고 파일 경로가 문제가되지 않는 '필수'모듈이 될 것이므로 이미 가능한 해결책이 있습니다. 그. 귀하의 질문에 대한 답변이되기를 바랍니다. –

+0

그렇다면 왜 JSON 파일을 명령 인수로 저장하는 경로를 전달하지 않는 것이 좋을까요? – peteb

답변

0

그래도 조금 늦었지만 답변입니다.

우리는 적절한 패키지 (내부의 스크립트 별칭이있는 패키지)에서 그것을 사용하고 인수를 통해 외부 파일 경로를 제공하는 peteb의 접근 방식 (감사)으로 끝 맺었습니다. 인수에 대한 기존 구조 때문에

이 작동 다음 filepath 인수가 pwd 또는 %CD% 될 운명이되었다

npm run <script> <arg1> <filepath> 

있지만, 모두의 출력은 어쨌든 정상적인 파일 경로입니다. 따라서 파일 시스템과 그 밖의 다른 것들에 비해 너무 길어서이 문제에 대한 해결책을 찾고자하는 다른 문제들에 빠지지 않는 한 이론적으로 모든 파일 경로가 작동합니다.

언급 할만한 가치가있는 부분은 NodeJS 이외의 환경에 더 적합했을 것입니다. 내부에있는 패키지 외부의 스크립트를 사용하는 것처럼 보이지 않을 수 있으며 그러한 문제를 처리하기 위해 외부 프로그램을 프로그래밍하는 것이 더 좋을 수도 있습니다.

많은 사람들이 NodeJS에 능숙하지는 않지만 아마도 .js 파일에 의해 호출되는 코드를 포함하는 실행 파일이 작동 할 수 있습니다.

관련 문제