web-dev-qa-db-fra.com

Fichiers * .ts manquants (en raison de `npm link`?)

J'ai cette déclaration d'importation dans un projet Angular5:

import {plugins, SCECodeGenType} from 'sce-plugins/code-generation';

cela résout ce chemin sur mon système de fichiers:

/Users/.../suman-chrome-extension/node_modules/sce-plugins/code-generation/index.d.ts

Lors de la création de l'application avec ng build -w, J'obtiens cette erreur:

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

Je pense que c'est parce que j'utilise npm link pour lier le 'sce-plugins' projet de développement local.

Je constate des problèmes d'utilisation de npm link avec les projets Angular5 ici:

https://github.com/angular/angular-cli/issues/3875

https://github.com/angular/angular-cli/issues/8677

https://github.com/angular/angular-cli/issues/9376

quelqu'un sait comment réparer?

Mise à jour:

Cela ne semble pas avoir à voir avec npm link perse, ou liens symboliques. Si je copie simplement le répertoire local sur node_modules/sce-plugins, J'obtiens la même fichue erreur. Pourtant, si je npm install sce-plugins dans node_modules alors je fais pas obtenir l'erreur. Très étrange, cela semble avoir à voir avec le angular-cli, pas avec NPM.

13
Alexander Mills

J'avais le même problème lors de la migration de mon application de Angular 5 à 6, correction que j'ai appliquée:

Ajout de l'entrée du fichier manquant dans includes array de tsconfig.app.json (ATTENTION: le nom de fichier n'est pas tsconfig.json)

Assurez-vous également que le chemin d'accès au fichier manquant que vous mentionnez est relatif à tsconfig.app.json

0
Rajat Badjatya