2 つのアプリケーションを作成しました (最初のアプリケーションはライブラリで、もう 1 つのアプリケーションはライブラリのコンポーネントを使用します)。
意図は、インポートされたライブラリの遅延ロードを行うことです。
トリガーng serve
するとエラーメッセージが表示されますが、 ng serve --prod --aot --build-optimizer
コマンドをトリガーしても問題ありません。この問題は にng build
も発生します。
Error:
ERROR in ./node_modules/bundle/bundle.d.ts
Module build failed: Error: D:\AngularApp\bundle\BaseApp\app2\node_modules\bundle\bundle.d.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
The missing file seems to be part of a third party library. TS files in published libraries are often a sign of a badly packaged library. Please open an issue in the library repository to alert its author and ask them to package the library using the Angular Package Format.
ライブラリは次のもので構築されてい
ng-packagr
ます。npm run cd
ライブラリ *.tgz ファイルを作成しました。
npm pack
を使用して別のアプリケーションにインポートされたライブラリ。
npm install *.tgz
消費アプリケーション:tsconfig.json
//consuming application
{
// consuming application
"compileOnSave": false,
"compilerOptions": // consuming application {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
//consuming application
"lib": [
// test
"es2017",
"dom"
],
},
//consuming application
"include":[
//test
"src/**/*",
"node_modules/bundle",
],
// consuming application
"files": [
//consume application impored library
"node_modules/bundle/bundle.d.ts" // test
//consume application impored library
]
}