我正在尝试将 LernaJS 与打字稿一起使用,但我遇到了一些问题。当我尝试运行具有 package-2 作为依赖项的 package-1 时,出现错误:
模块.js:549
抛出错误;
^
错误:找不到模块“package-2”
在 Function.Module._resolveFilename (module.js:547:15)
在 Function.Module._load (module.js:474:25)
在 Module.require (module.js:596:17)
在要求(内部/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 init”
- 我在 (package-1, package-2) 'packages' 文件夹中创建了 2 个文件夹
.
├── lerna.json
├── 节点模块
├── package.json
├── package-lock.json
└── 包裹
├── package-1
└── package-2
- 我在两个(package-1,package-2)中都运行了“npm init”
- 我在两个包中都创建了一个基本的“tsconfig.json”:
{
“编译器选项”:{
"outDir": "dist",
“目标”:“es5”,
“模块”:“commonjs”
}
}
- 我在根文件夹中运行了“lerna bootstrap”
- 我使用了'lerna add package-2 --scope=package-1'
- 我还在根文件夹 package-1 和 package-2 中运行了“npm i”
- 我在 package-1 和 package-2 中运行了“tsc -w”,在 package-1 中运行了“node dist/index.js”
文件树
我的“package-1”文件树:
.
├── 距离
│ └── index.js
├── index.ts
├── 节点模块
│ ├── package-2 -> ../../package-2
│ └── 打字稿
├── package.json
├── package-lock.json
└── tsconfig.json
我的“package-2”文件树:
.
├── 距离
│ ├── index.js
│ └── 库
│ └── teste.js
├── index.ts
├── 库
│ └── teste.ts
├── package.json
├── package-lock.json
└── tsconfig.json
代码
包 1:
- 索引.ts:
从 'package-2' 导入 { Teste }
新的 Teste().printHello()
包 2:
- 库/teste.ts:
出口类Teste {
打印你好(){
console.log('你好!')
}
}
- 索引.ts:
从 './lib/teste' 导出 { Teste }