web-dev-qa-db-fra.com

Angular 5 erreur de compilation webpack

Après la mise à niveau vers Angular 5 et Cli 1.5, sur ng serve, je reçois une erreur:

ERROR in ./node_modules/@stomp/ng2-stompjs/index.ts
    Module build failed: Error: ...\project\node_modules\@stomp\ng2-stompjs\index.ts is not part of the compilation output. Please check the other error messages for details.
        at AngularCompilerPlugin.getCompiledFile (...\project\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:629:23)
        at plugin.done.then (...\project\node_modules\@ngtools\webpack\src\loader.js:467:39)
        at <anonymous>
        at process._tickCallback (internal/process/next_tick.js:188:7)
     @ ./src/app/app.module.ts 27:0-63
     @ ./src/main.ts
     @ multi webpack-dev-server/client?http://0.0.0.0:0 ./src/main.ts

J'ai essayé d'ajouter include à mon tsconfig.app.json afin qu'il ressemble à ceci:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "module": "es2015",
    "baseUrl": "",
    "types": []
  },
  "include": [
    "../node_modules/@stomp/**/*.ts"
  ],
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

J'ai essayé de relancer ng serve J'ai eu une autre erreur: 

    ERROR in ./src/main.ts
Module build failed: Error: ...project\chatAngular4\src\main.ts is not part of the compilation output. Please check the other error messages for details.
    at AngularCompilerPlugin.getCompiledFile (...project\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:629:23)
    at plugin.done.then (...project\node_modules\@ngtools\webpack\src\loader.js:467:39)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
 @ multi webpack-dev-server/client?http://0.0.0.0:0 ./src/main.ts
ERROR in ./src/polyfills.ts
Module build failed: Error: C:\Users\MEP2\Desktop\chatAngular4\src\polyfills.ts is not part of the compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
    at AngularCompilerPlugin.getCompiledFile (...project\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:624:23)
    at plugin.done.then (...project\node_modules\@ngtools\webpack\src\loader.js:467:39)
    at <anonymous>
 @ multi ./src/polyfills.ts

Cela semble nécessiter une solution générique. Des idées?


Mettre à jour

Après la mise à jour de tous les packages vers la dernière version, le problème a disparu

7
TomP

Essayez ng serve --preserve-symlinks.

Cela aide dans la plupart des cas pour la version actuelle de Angular.

Sinon, n'exécutez pas simplement ng serve à partir d'un dossier lié symboliquement. Exécutez-le du vrai.

J'attends avec impatience quand ils le répareront.

4
zhekaus

Je recevais la même erreur que vous en ce qui concerne main.ts et polyfills.ts n'étant pas inclus dans la configuration.

J'ai ajouté ces fichiers à la section "include" du fichier tsconfig.app.json et cela a commencé à fonctionner pour moi.

Curieusement, après avoir ajouté cela à mon premier projet, j'ai créé un autre projet et je n'ai pas eu à franchir cette étape supplémentaire.

Voici mon tsconfig.app.json:

   {
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "es2015",
    "types": []
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ],
  "include": [
    "main.ts",
    "polyfills.ts"
  ]
}
1
aaron

Jetez un coup d’œil dans le fichier README.md du dépôt Github de ng2-stompjs:

https://github.com/stomp-js/ng2-stompjs/tree/angular5#agular-5--ionic

Dans src/tsconfig.app.json, placez ce qui suit dans compilerOptions:

"paths": {
    "@stomp/ng2-stompjs": ["../node_modules/@stomp/ng2-stompjs"]
}
0
stetro