Я пытаюсь использовать LernaJS с машинописным текстом, и у меня есть некоторые проблемы. Когда я пытаюсь запустить свой пакет package-1, в котором есть зависимость package-2, я получаю сообщение об ошибке:
module.js:549 throw err; ^ Error: Cannot find module 'package-2' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:474:25) at Module.require (module.js:596:17) at require (internal/module.js:11:18) at Object. (/home/gabriel/Documentos/projetos/nodejs/lerna-t2/packages/package-1/dist/index.js:3:19) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3)
Я выполнил следующие шаги:
- Я создал каталог и выполнил команду 'lerna init'
- Я создал 2 папки внутри папки (package-1, package-2) 'packages'
. ├── lerna.json ├── node_modules ├── package.json ├── package-lock.json └── packages ├── package-1 └── package-2
- Я запускал npm init в обоих (пакет-1, пакет-2)
- Я создал базовый tsconfig.json в обоих пакетах:
{ "compilerOptions": { "outDir": "dist", "target": "es5", "module": "commonjs" } }
- Я запустил 'lerna bootstrap' в корневой папке
- Я использовал 'lerna add package-2 --scope = package-1'
- Я также запустил npm i в корневой папке, package-1 и package-2
- Я запускал 'tsc -w' в пакете-1 и пакете-2 и 'node dist / index.js' в пакете-1
ФАЙЛОВОЕ ДЕРЕВО
Мое дерево файлов 'package-1':
. ├── dist │ └── index.js ├── index.ts ├── node_modules │ ├── package-2 -> ../../package-2 │ └── typescript ├── package.json ├── package-lock.json └── tsconfig.json
Мое файловое дерево пакета-2:
. ├── dist │ ├── index.js │ └── lib │ └── teste.js ├── index.ts ├── lib │ └── teste.ts ├── package.json ├── package-lock.json └── tsconfig.json
КОД
пакет-1:
- index.ts:
import { Teste } from 'package-2' new Teste().printHello()
пакет-2:
- lib / teste.ts:
export class Teste { printHello() { console.log('Hello!') } }
- index.ts:
export { Teste } from './lib/teste'