2017-04-03 2 views
1

내 응용 프로그램에서 사용되는 몇 가지 일반적인 기능을 내보내는 몇 가지 자바 스크립트 파일이 있습니다. var example = require('../local_modules/example')node_modules/폴더에없는 모듈을 "요구하는"방법은 무엇입니까?

대신에 var example = require('example')을 작성하여 이러한 파일을 가져올 수 있기를 원합니다. npm 레지스트리에 추가하지 않고 어떻게 수행합니까? 그들은 사적으로 있어야합니다.

+0

어떤 종류의 빌드 시스템을 사용하고 있습니까? Webpack에는이 작업을 수행하는 방법이 있습니다. –

답변

0

한 가지 방법은 경로 매핑을 만드는 것입니다. 예를

를 들어
var pathmapping = { 
    example: '../local_modules/example' 
    ...other pathes... 
} 

그런 다음 당신은 $NODE_PATH../local_modules의 전체 경로를 추가 할 수 있습니다

require(pathmapping[example]) 
0

에 의해 그들에 액세스 할 수 있습니다.

당신이 유닉스 형 OS를 사용하는 경우

:

NODE_PATH=$NODE_PATH:/full/path/to/local_modules 

당신이 경우에 당신의 쉘의 시작 파일, 그것은거야 "스틱"에서.

그러나 모듈을 항상 프로젝트의 로컬에 유지해야하므로 ./node_modules에있는 것이 좋습니다. 로컬 모듈이 적절한 패키지 인 경우 (그렇지 않다면 너무 어렵지 않은 패키지를 만드는 것이 좋습니다.)

npm i ../local_modules/your-module 
+0

나는이 아이디어가 마음에 들지만 유감 스럽지만 npm install은 모든 패키지 (내 package.json에 포함되지 않은 패키지)를 제거했습니다. (너무 이상합니다. 이것은 npm2와 npm3이 어떻게 작동했는지에 대한 변경이기 때문에 인터넷에 존재하지 않습니다. – checks

+0

AFAIK,'npm install'은 패키지를 결코 제거하지 못합니다. ('./node_modules'에 패키지가 설치되었지만'package.json ''npm install'을 실행할 때 제거됩니다). – robertklep

관련 문제