Angular5プロジェクトに次のimportステートメントがあります。
import {plugins, SCECodeGenType} from 'sce-plugins/code-generation';
これは私のファイルシステム上のこのパスに解決されます:
/Users/.../suman-chrome-extension/node_modules/sce-plugins/code-generation/index.d.ts
ng build -w
を使用してアプリをビルドすると、次のエラーが発生します。
ERROR in ../sce-plugins/code-generation/index.ts Module build failed: Error: /Users/alexamil/WebstormProjects/oresoftware/sumanjs/sce-plugins/code-generation/index.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
at AngularCompilerPlugin.getCompiledFile (/Users/alexamil/WebstormProjects/oresoftware/sumanjs/suman-chrome-extension/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:662:23)
at plugin.done.then (/Users/alexamil/WebstormProjects/oresoftware/sumanjs/suman-chrome-extension/node_modules/@ngtools/webpack/src/loader.js:467:39)
at <anonymous> @ ./src/app/shared/services/lang.service.ts 14:24-62 @ ./src/app/app.module.ts @ ./src/main.ts @ multi ./src/main.ts
npm link
を使用して'sce-plugins'
プロジェクトをローカル開発にリンクしているためと思います。
Angular5プロジェクトでのnpm link
の使用に関するいくつかの問題がこちらにあります。
https://github.com/angular/angular-cli/issues/3875
https://github.com/angular/angular-cli/issues/8677
https://github.com/angular/angular-cli/issues/9376
誰でも修正方法を知っていますか?
更新:
npm link
自体、またはシンボリックリンクとは関係がないようです。ローカルディレクトリをnode_modules/sce-plugins
にコピーすると、同じエラーが発生します。 まだ、node_modulesにnpm install
sce-pluginsを入力すると、エラーが発生しますnot。非常に奇妙です。NPMではなく、angular-cliに関係しているようです。
アプリをAngular 5から6に移行するときに同じ問題が発生しました。適用した修正:
tsconfig.app.jsonのincludes array
に不足しているファイルのエントリを追加しました(注意:ファイル名はtsconfig.jsonではありません)
また、欠落しているファイルのパスがtsconfig.app.json
からの相対パスであることを確認してください