내 노드 projcet에서 main.js가있는 독립 모듈을 진입 점으로 만들고 해당 모듈의 도우미를 다른 파일과 같은 폴더에 배치합니다. 지역 node_modules
폴더 :package.json-nodejs의 종속성은 무엇입니까
Ex:
Aggregator:
|___package.json
|___main.js
|___node_modules
|_____helper1.js
|_____helper2.js
따라서 노드 모듈 [어 그리 게이터 예]에 대한 모든 내 도우미 '의존성을 해결합니다. 상기 구조에 대한 이유는 내가 그 진입 점은 main.js 넣다 require
이다 어 그리 게이터
Ex:
//Sample.js
require('Aggregator'); // Resolves to Aggregator/main.js
예입니다 지정 내가 package.json을 사용 require
에 경로에 대해 걱정하지 않아도된다 : 수집기 모듈 package.json는
{
"name": "Aggregator"
, "description": "Returns Aggregates"
, "keywords": ["aggregate"]
, "author": "Tamil"
, "contributors": []
, "dependencies": {
"redis": "0.6.7"
}
, "lib" : "."
, "main" : "./main.js"
, "version" : "1.0"
}
여기 대한 의존성 칼럼 무엇인가? 나는 this 링크를 추천했다. 아무런 경고없이 redis 버전을 10000으로 지정하더라도 코드가 작동하는 것 같습니다. 프로젝트에서 Redis 모듈을 삭제하여 노드가 그 노드를 선택하고 종속성을 해결하는지 테스트하려고했지만 시도하지 않았습니다. package.json에서 종속성 속성을 사용하는시기는 언제입니까? 나중에 참조 할 때 참고 사항일까요?
npm 버전 1.1.0-beta-4; 노드 버전 v0.6.6
이제는 깨끗합니다 :) Nice Catch :) – Tamil
그래서 우리가 구축 한 로컬 모듈에 package.json을 사용하는 것은 불필요하거나 권장하지 않습니까? 왜냐하면 내가'npm install'을 프로젝트 폴더에서 실행하면 오류가 발생합니다. 실제로 패키지는 어디에도 없기 때문에 내 로컬 코드와 종속성이 해결되지 않습니다. 나는 Aggregator가 패키지가 아니라, redis에 의존성이있는 나에 의해 만들어진 모듈이라는 것을 의미한다. 그렇다면 어떻게 해결할 수 있을까요? – Tamil
로컬로 개발 된 모듈의 게시 된 종속성에'package.json'을 사용하는 것이 좋습니다. 그러나 로컬에서 개발 된 모듈을 * 다른 로컬 개발 모듈 내에서 사용해야하는 경우 몇 가지 옵션이 있으며 그 중 가장 좋은 옵션은 일반적으로'npm link '를 사용하는 것입니다. 'npm link '를 사용하면 * ModuleA *의 루트 폴더로 이동하고 간단히'npm link'를 입력하면됩니다. 그런 다음 * ModuleB *의 루트 폴더에서'npm link module-a-name'을 입력하십시오. 그런 다음 * ModuleB *가있는 곳이라면 node_modules 내에 설치되어있는 것처럼 (간단히 말해서'require ('module-a-name')') 할 수 있습니다. – jmar777