我正在尝试将LernaJS与typescript一起使用,但遇到一些问题。当我尝试运行将package-2作为依赖项的package-1时,出现错误消息:
module.js:549
抛出错误;
^
错误:找不到模块“package-2”
在Function.Module._resolveFilename(module.js:547:15)
在Function.Module._load(module.js:474:25)
在Module.require(module.js:596:17)
在要求时(internal/module.js:11:18)
在对象。 (/home/gabriel/Documentos/projetos/nodejs/lerna-t2/packages/package-1/dist/index.js:3:19)
在Module._compile(module.js:652:30)
在Object.Module._extensions..js(module.js:663:10)
在Module.load(module.js:565:32)
在tryModuleLoad(module.js:505:12)
在Function.Module._load(module.js:497:3)
我已按照以下步骤操作:
。
├──lerna.json
├──node_modules
├──package.json
├──package-lock.json
└──套餐
├──套餐1
└──套餐2
{
“compilerOptions”:{
“outDir”:“dist”,
“target”:“es5”,
“module”:“commonjs”
}
}
文件树
我的“package-1”文件树:
。
├──dist
│└──index.js
├──index.ts
├──node_modules
│├──包裹2-> ../../package-2
│└── typescript
├──package.json
├──package-lock.json
└──tsconfig.json
我的“package-2”文件树:
。
├──dist
│├──index.js
│└──lib
│└──teste.js
├──index.ts
├──lib
│└──证明
├──package.json
├──package-lock.json
└──tsconfig.json
CODE
包1 :
从'package-2'导入{Teste}
新的Teste()。printHello()
包2 :
导出类别Teste {
printHello(){
console.log('你好!')
}
}
从'./lib/teste'导出{Teste}
最佳答案
请确保已在package.json中(至少在project-2中)定义了main
。我假设package.json(对于project-2)中的名称字段为project-2
。
主要应该链接到dist/index.js