source

LernaJS Types 스크립트가 모듈을 찾을 수 없습니다.

factcode 2023. 7. 3. 23:23
반응형

LernaJS Types 스크립트가 모듈을 찾을 수 없습니다.

LernaJS를 타이프스크립트와 함께 사용하려고 하는데 몇 가지 문제가 있습니다.package-2를 종속성으로 지정한 package-1을 실행하려고 하면 다음 오류가 발생합니다.

모듈.js:549실수를 던집니다.^    
오류: 'package-2' 모듈을 찾을 수 없습니다.함수에서.Module._resolveFilename(module.js:547:15)함수에서.Module._load(module.js:474:25)Module.require(module.js:596:17)에서 확인할 수 있습니다.필요 시(내부/내부.js:11:18)물체에(/home/gabriel/Documentos/projetos/nodejs/lerna-t2/packages/package-1/dist/index.js:3:19)모듈에서._1700(1700.js:652:30)물체에모듈._확장..js(304.js:663:10)Module.load(module.js:565:32)에 있습니다.attryModuleLoad (module.js:505:12)함수에서.Module._load(module.js:497:3)

다음 단계를 수행했습니다.

  1. 디렉터리를 만들고 'lerna init' 명령을 실행했습니다.
  2. 2개의 폴더를 package-1, package-2 폴더 안에 만들었습니다.
.레르나.제이슨node_module꾸러미제이손package-lock.json꾸러미들패키지-1패키지-2
  1. 두 가지 모두에서 'npm init'을 실행했습니다(패키지-1, 패키지-2).
  2. 기본적인 'tsconfig'를 만들었습니다.두 패키지 모두에서 json':
{"컴파일러 옵션": {"out Dir": "dist","target": "es5","commonjs": "commonjs"}}
  1. 루트 폴더에서 '레나 부트스트랩'을 실행했습니다.
  2. 'lerna add package-2 --scope=package-1'을 사용했습니다.
  3. 루트 폴더, package-1, package-2에서도 'npmi'를 실행했습니다.
  4. package-1의 'tsc -w'와 package-2의 'node dist/index.js'를 실행했습니다.

파일 트리

내 'package-1' 파일 트리:


.거리를◦--index.jsindex.node_module◦-- package-2 -> ../../package-2◦-- 타이프스크립트꾸러미제이손package-lock.jsontsconfig.json

내 'package-2' 파일 트리:


.거리를◦--index.js◦-- lib◦-- 고환.제이에스index.lib◦-- 고환.꾸러미제이손package-lock.jsontsconfig.json

코드

패키지-1:

  • index.ts:

'package-2'에서 {Teste} 가져오기    
새 Teste().printHello()

패키지-2:

  • lib/teste.ts:

내보내기 클래스 Teste {}    
인쇄물안녕() {console.log('Hello!')}    
}
  • index.ts:

'/lib/teste'에서 {Teste} 내보내기

하십시오.main().jsonin(프로젝트-2 이상).jsonin (프로젝트-2 이상).패키지의 이름 필드를 가정합니다.json(프로젝트-2의 경우)은project-2.

기본 링크는 다음과 같아야 합니다.dist/index.js

언급URL : https://stackoverflow.com/questions/50780112/lernajs-typescript-cannot-find-module

반응형