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
誰かがこれを修正する方法について何か提案がありますか?ありがとうございました。
これは簡単な修正でした-以下を実行します:npm install --save @ ngtools/webpack @ 1.2.4
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" ] }
そもそもなぜこれが起こっているのかを明確にするためです。公開されたモジュールにTypeScriptファイルがある場合、コンパイラーは、意図されたコンパイル済みJavaScriptファイルの代わりにそれらをロードしようとします。
Tsファイルは定義ファイル(*.d.ts
)のみである必要があるため、これは明らかに公開プロセスの間違いです。
これら(typeaheadおよびdatatable)がパッケージである場合は、.npmignore
ファイルを確認してください。 .d.tsを除くすべての.tsファイルは無視する必要があります。自分のものでない場合は、作成者/所有者に報告してください。
私もこのメッセージを受け取りました、そして私にとって原因は単純なタイプミスでした。私はこの行を持っていました:
import { DashboardService } from '../Dashboard.service';
大文字のDが原因で、小文字に変更すると問題が解決しました。
アプリケーションディレクトリが%users%\ Documentsディレクトリの下にあるときにも、同様の問題が発生しました。ディレクトリ全体を別のパス(C:\ Data\Angularなど)にコピーした後、エラーはなくなりました。