2017-09-20 1 views
3

Node.js 라이브러리 용 플러그인 시스템에서 작업 중입니다. 일부 테스트를 실행할 때 "require"및 "require.resolve"함수가 패키지를 찾는 위치를 파악하는 데 약간의 문제가 있습니다. . 나는 다음과 같은 오류가 점점 계속 : 나는 일반적으로 Node.js를 "이 node_modules"디렉토리의 모든 길 계층 구조를 찾을 것이라고 알고Node.js에서 모듈을 찾으려는 시도/요구 사항을 어디에서 확인할 수 있습니까?

Cannot find module 'plugin-name' from "index.jS" 

을,하지만 난 내 테스트에 약간의 조롱을하고있어 이후 물건은 아니다 간단합니다. 따라서 일부 로그를 인쇄하거나 Node.js가 패키지를 찾으려고 시도하는 경로 정보를 디버깅 할 수 있다면 정말 도움이됩니다.

아이디어가 있으십니까?

미리 감사드립니다.

+0

[글로벌 nodepath가 아닌가?] (https://www.npmjs.com/package/nodepath) – Pointy

+0

필요한 노드 모듈을 스텁 (stub) 할 수 있습니다. https://stackoverflow.com/questions/ 5747035/how-to-unit-test-a-node-js-module-that-requires-other-modules – thedeliciousmuffin

답변

2

나는 아마도 module.paths이 가장 유용 할 것이라고 생각합니다. 내가 얻을 로컬로 실행, 제가 생각하기는 node_modules 디렉토리가 모든 방법까지 나무를뿐만 아니라 ~/.node_libraries~/.node_modules을 포함 검색 경로의 전체 배열이며, '/usr/local/lib/node'

이 문서는 단순히 말 :

module.paths
여기 알고리즘에 꽤 좋은 설명이있다 모듈

에 대한 검색 경로 : https://nodejs.org/api/modules.html#modules_all_together

관련 문제