Сценарий запуска NPM 'start' завершился без указания того, что Angular CLI прослушивал запросы - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь запустить .NET Core 2 / Angular 6 SPA. Я создал приложение Angular 5, используя «dotnet new angular», а затем приступил к обновлению, используя это руководство из angular.io. Когда я закончил обновление, я попытался запустить приложение, используя «запуск по сети», и я получил ужасную страницу с ошибкой:

Произошло необработанное исключение при обработке запроса.

AggregateException: произошла одна или несколько ошибок. (Одна или несколько ошибок произошло. (Сценарий NPM 'start' вышел без указания на то, что Angular CLI слушал запросы. Вывод ошибки был: неизвестно опция: '--extractCss'

InvalidOperationException: сценарий NPM 'start' завершился без указания того, что Angular CLI прослушивал запросы. Вывод ошибки был: Неизвестная опция: '--extractCss'

Подумав, возможно, я пропустил шаг во время обновления, я попробовал второй раз и получил ту же ошибку.

Вот шаги, которые я предпринял после создания приложения:

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

Я использую Node версии 9.4.0 и .Net Core 2.1.200 в Windows 10 (1703) Enterprise.

Есть идеи как это исправить? Вот полная трассировка стека:

 ---> 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()<---
<---

Ответы [ 5 ]

0 голосов
/ 06 ноября 2018

Попробуйте сделать следующее

  1. Открыть Powershell
  2. Перейдите в каталог clientapp
  3. Запустите «Исправление аудита npm»

У меня сработало

0 голосов
/ 01 ноября 2018

Оба решения Джо и Джейс работают. Чтобы использовать конфигурацию шаблона по умолчанию без изменений кода, вам просто нужно установить node.js для Windows, как указано выше, Jay, а затем перезапустить VS. https://nodejs.org/en/download/

Отличное руководство по созданию, настройке и развертыванию проектов Core Angular с vs и vscode здесь. Включает в себя настройку IIS. https://www.codeproject.com/Articles/1250961/Deploying-an-Angular-Application-with-ASP-NET-Core

0 голосов
/ 17 октября 2018

Если вышеприведенное решение не работает, вы можете попробовать следующее, которое сработало для меня.

Сценарий: перенесенное рабочее решение VS 2017: основные веб-интерфейсы API и угловые спа-проекты на вновь установленный ПК; дал мне вышеуказанную ошибку.

Решение: После установки рабочих нагрузок node.js с помощью установщика Visual Studio, node.js для Windows (https://nodejs.org/en/download/) и необходимые функции Windows для IIS; я вернулся на путь.

Основной установкой является node.js для visual studio и windows (с включенным npm), для его работы пришлось установить оба. Вероятно, конфигурация путей для командной строки ....

0 голосов
/ 23 октября 2018

Проблема меня тоже беспокоит пару дней. Теперь, наконец, обойтись. Очевидно, Visual Studio пытается автоматически запустить сервер Angular CLI для нас вместе с основным процессом ASP.Net. Для этого случая это не удалось.

Итак, согласно Microsoft Doc здесь , мы можем запустить Angular CLI server вручную.

  1. перейдите в папку «ClientApp» и введите:

    нг

    для запуска сервера из консоли.

  2. В файле 'Startup.cs' замените

    spa.UseAngularCliServer (..)

с

spa.UseProxyToSpaDevelopmentServer("http://localhost:4200");
  1. F5 для запуска проекта ASP.Net Core, как мы обычно делаем.

Таким образом, вы можете продолжить отладку приложения.

0 голосов
/ 08 мая 2018

Для меня это и следующие вопросы решены: https://github.com/angular/angular-cli/issues/10666

А также вам нужно отредактировать файл package.json и удалить параметр --extractCss из свойства start и build. от:

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

до:

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
...