TypeScriptでLernaJSを使用しようとしていますが、いくつか問題があります。パッケージ1を実行しようとすると、依存関係としてパッケージ2があり、エラーが発生します。
module.js:549 throw err; ^ エラー:モジュール '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.json ├──node_modules ├──package.json ├── package-lock.json └──packages ├──package-1 └──package-2
{ "compilerOptions":{ "outDir": "dist"、 "target": "es5"、 "モジュール": "commonjs" } }
ファイルツリー
私の「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:
import {Teste} from 'package-2' new Teste()。printHello()
パッケージ2:
エクスポートクラスTeste { printHello(){ console.log( 'Hello!') } }
'./lib/teste'から{Teste}をエクスポートします
(少なくともproject-2)のpackage.jsonにmain
が定義されていることを確認してください。 package.json(project-2の場合)の名前フィールドはproject-2
であると想定しています。
メインはdist/index.js
にリンクする必要があります