web-dev-qa-db-fra.com

Le script NPM 'start' s'est terminé sans indiquer que la CLI angulaire était à l'écoute des demandes.

Je tente de démarrer un SPA .NET Core 2/Angular 6. J'ai créé une application Angular 5 en utilisant "dotnet new angular", puis j'ai procédé à la mise à niveau en utilisant ce guide à partir de angular.io. Une fois la mise à niveau terminée, j'ai essayé d'exécuter l'application à l'aide de "dotnet run" et une page d'erreur laide contenant l'erreur: 

Une exception non gérée s'est produite lors du traitement de la demande.

AggregateException: une ou plusieurs erreurs sont survenues. (Une ou plusieurs erreurs Sont survenues. (Le script NPM "start" s'est terminé sans indiquer que la CLI angulaire .__ était à l'écoute des demandes. Le résultat de l'erreur était: Unknown Option: "--extractCss".

InvalidOperationException: Le script NPM "start" s'est terminé sans indiquer que la CLI angulaire était à l'écoute des demandes. Le résultat d'erreur était: Option inconnue: '--extractCss'

Pensant que j'avais peut-être manqué une étape lors de la mise à niveau, j'ai essayé une seconde fois et j'ai eu la même erreur.

Voici les étapes que j'ai suivies après la création de l'application:

npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
ng update @angular/core
npm install --save @angular/material @angular/cdk @angular/animations hammerjs 
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json

J'utilise Node version 9.4.0 et .Net Core 2.1.200 sur Windows 10 (1703) Entreprise.

Des idées pour résoudre le problème? Voici une trace de pile complète:

 ---> System.IO.EndOfStreamException: Attempted to read past the end of the stream.
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<StartAngularCliServerAsync>d__3.MoveNext()
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<StartAngularCliServerAsync>d__3.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<>c.<Attach>b__2_0(Task`1 task)
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Microsoft.AspNetCore.SpaServices.Extensions.Util.TaskTimeoutExtensions.<WithTimeout>d__1`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.SpaServices.Extensions.Proxy.SpaProxy.<PerformProxyRequest>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Builder.SpaProxyingExtensions.<>c__DisplayClass2_0.<<UseProxyToSpaDevelopmentServer>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.<Invoke>d__7.MoveNext()
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. (The NPM script 'start' exited without indicating that the Angular CLI was listening for requests. The error output was: Unknown option: '--extractCss'

) ---> System.InvalidOperationException: The NPM script 'start' exited without indicating that the Angular CLI was listening for requests. The error output was: Unknown option: '--extractCss'

 ---> System.IO.EndOfStreamException: Attempted to read past the end of the stream.
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<StartAngularCliServerAsync>d__3.MoveNext()
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<StartAngularCliServerAsync>d__3.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<>c.<Attach>b__2_0(Task`1 task)
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
---> (Inner Exception #0) System.InvalidOperationException: The NPM script 'start' exited without indicating that the Angular CLI was listening for requests. The error output was: Unknown option: '--extractCss'

 ---> System.IO.EndOfStreamException: Attempted to read past the end of the stream.
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<StartAngularCliServerAsync>d__3.MoveNext()
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<StartAngularCliServerAsync>d__3.MoveNext()<---
<---
17
mack

Pour moi, ceci et les suivants ont résolu le problème: https://github.com/angular/angular-cli/issues/10666

Et vous devez également modifier votre fichier package.json et supprimer le paramètre --extractCss de la propriété start et build .

"scripts": {
    "ng": "ng",
    "start": "ng serve --extract-css",
    "build": "ng build --extract-css",

à:

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
25
Arpi

Le problème me dérange pendant quelques jours aussi. Maintenant, enfin, obtenir un moyen de contourner. Apparemment, Visual Studio essaie de lancer le serveur Angular CLI pour nous automatiquement avec le processus principal ASP.Net. Pour cet exemple, cela a échoué.

Donc, selon Microsoft Doc ici , nous pouvons démarrer le serveur Angular CLI manuellement. 

  1. naviguez jusqu'au dossier 'ClientApp' et lancez:

    ng servir

    pour démarrer le serveur à partir de la console.

  2. Dans le fichier 'Startup.cs', remplacez 

    spa.UseAngularCliServer (..)

avec

spa.UseProxyToSpaDevelopmentServer("http://localhost:4200");
  1. F5 pour démarrer le projet ASP.Net Core comme nous le faisons normalement.

De cette façon, vous pouvez continuer à déboguer l'application.

6
Joseph Wu

Essayez de faire ce qui suit 

  1. Ouvrir une Powershell 
  2. Accédez au répertoire clientapp 
  3. Exécutez «correctif d'audit npm»

Ça a fonctionné pour moi

2
Georg Hansen

Si la solution ci-dessus ne fonctionne pas, vous pouvez essayer les solutions suivantes, qui ont fonctionné pour moi.

Scénario: Solution de travail VS 2017 transférée: projets de base d'api Web et de spa angulaires sur un ordinateur nouvellement installé; m'a donné l'erreur ci-dessus.

Solution: après l'installation des charges de travail node.js via le programme d'installation de Visual Studio, node.js pour Windows ( https://nodejs.org/en/download/ ) et les fonctionnalités Windows nécessaires pour IIS; J'étais sur la bonne voie.

L’installation principale est le fichier node.js pour Visual Studio et Windows (qui inclut NPM), il a fallu installer les deux pour que cela fonctionne. Probablement la configuration des chemins pour la commande Invite ....

1
JayKayOf4

Les solutions de Joe et de Jays fonctionnent. Pour utiliser la configuration de modèle par défaut sans modification de code, vous devez simplement installer node.js pour Windows comme indiqué par Jay, puis redémarrer VS . https://nodejs.org/en/download/

Un excellent tutoriel sur la création, la configuration et le déploiement de projets Core Angular avec vs et vscode ici. Inclut également la configuration IIS. https://www.codeproject.com/Articles/1250961/Deploying-an-Angular-Application-with-ASP-NET-Core

0
maeneak