5

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.
  1. ライブラリは次のもので構築されていng-packagrます。

    npm run cd
    
  2. ライブラリ *.tgz ファイルを作成しました。

    npm pack
    
  3. を使用して別のアプリケーションにインポートされたライブラリ。

    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
                 ] 
                 }
4

0 に答える 0