web-dev-qa-db-ja.com

index.tsはコンパイル出力の一部ではありません

Angularアプリケーションをコンパイルしようとしていますが、エラーが発生します。コンパイラがindex.tsファイルを認識していないようです。理由はわかりません。

以下はエラーです:

ERROR in ./node_modules/datatable/index.ts
Module build failed: Error: node_modules\datatable\index.ts is not part of the compilation output. Please check the other error messages for details.
    at AngularCompilerPlugin.getCompiledFile (node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:629:23)
    at plugin.done.then (node_modules\@ngtools\webpack\src\loader.js:467:39)
    at process._tickCallback (internal/process/next_tick.js:103:7)
 @ ./src/main/ui/app/app.module.ts 13:0-59
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://0.0.0.0:0 ./src/main.ts
ERROR in ./node_modules/typeahead/index.ts
Module build failed: Error: node_modules\typeahead\index.ts is not part of the compilation output. Please check the other error messages for details.
    at AngularCompilerPlugin.getCompiledFile (\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:629:23)
    at plugin.done.then (node_modules\@ngtools\webpack\src\loader.js:467:39)
    at process._tickCallback (internal/process/next_tick.js:103:7)
 @ ./src/main/ui/app/app.module.ts 12:0-59
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://0.0.0.0:0 ./src/main.ts

誰かがこれを修正する方法について何か提案がありますか?ありがとうございました。

7
Meena Mana

これは簡単な修正でした-以下を実行します:npm install --save @ ngtools/webpack @ 1.2.4

1
Meena Mana

angular-bootstrap-md\index.tsでも同様の問題が発生しました

どうすれば修正できますか:

index.tsファイルをtsconfig.jsonsインクルードブロックに置くだけです、 下記参照:

{
  "compileOnSave": false,
  "compilerOptions": {
  "outDir": "./dist/out-tsc",
  "sourceMap": true,
  "declaration": false,
  "moduleResolution": "node",
  "emitDecoratorMetadata": true,
  "experimentalDecorators": true,
  "target": "es5",
  "typeRoots": [
    "node_modules/@types"
  ],
  "lib": [
    "es2017",
    "dom"
  ]  
},
"include": [
  "src/**/*",
  "node_modules/angular-bootstrap-md/index.ts"
  ]
 }

出典: https://github.com/angular/angular/issues/20091

5
B.Altair

そもそもなぜこれが起こっているのかを明確にするためです。公開されたモジュールにTypeScriptファイルがある場合、コンパイラーは、意図されたコンパイル済みJavaScriptファイルの代わりにそれらをロードしようとします。

Tsファイルは定義ファイル(*.d.ts)のみである必要があるため、これは明らかに公開プロセスの間違いです。

これら(typeaheadおよびdatatable)がパッケージである場合は、.npmignoreファイルを確認してください。 .d.tsを除くすべての.tsファイルは無視する必要があります。自分のものでない場合は、作成者/所有者に報告してください。

1
Miroslav Jonas

私もこのメッセージを受け取りました、そして私にとって原因は単純なタイプミスでした。私はこの行を持っていました:

import { DashboardService } from '../Dashboard.service';

大文字のDが原因で、小文字に変更すると問題が解決しました。

0

アプリケーションディレクトリが%users%\ Documentsディレクトリの下にあるときにも、同様の問題が発生しました。ディレクトリ全体を別のパス(C:\ Data\Angularなど)にコピーした後、エラーはなくなりました。

0
slfan