【问题标题】:ASP .Net Core 3.1 Angular template doesn't workASP .Net Core 3.1 Angular 模板不起作用
【发布时间】:2020-07-25 04:41:08
【问题描述】:

我在 Visual Studio 2019 中使用 Angular 模板创建了一个新的 Web 项目 .Net Core。 当我尝试构建解决方案时出现错误: 处理请求时发生未处理的异常。 AggregateException:发生一个或多个错误。 (发生了一个或多个错误。(NPM 脚本“启动”退出,但没有表明 Angular CLI 正在侦听请求。错误输出是:)) System.Threading.Tasks.Task.ThrowIfExceptional(bool includeTaskCanceledExceptions)

InvalidOperationException:NPM 脚本“启动”退出,但未指示 Angular CLI 正在侦听请求。错误输出是: Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.StartAngularCliServerAsync(string sourcePath, string npmScriptName, ILogger logger)。

【问题讨论】:

  • 尝试启动应用的 Angular 部分时出现故障。我会尝试在 Visual Studio(命令行)之外启动 Angular 应用程序,希望在那里获得更多错误详细信息。见docs.microsoft.com/en-us/aspnet/core/client-side/spa/…
  • 可能是npm install 失败,并且并非所有需要的第三方都已正确下载。您能否在控制台中导航到ClientApp 文件夹并调用npm install?安装的输出是什么?安装时有错误吗?
  • 我尝试 npm install 并从控制台运行应用程序,但仍然给我同样的错误
  • 如果您尝试从命令行仅运行 Angular 应用程序,您会收到任何错误吗?要从命令行仅启动 Angular 应用程序,请导航到 ClientApp 文件夹并运行 npm run start
  • 您能否尝试将Startup.cs 文件中的spa.UseAngularCliServer(..) 调用替换为spa.UseProxyToSpaDevelopmentServer("http://localhost:4200");。在此之后尝试ClientApp 文件夹中的npm run start 命令行命令,然后从Visual Studio 或使用dotnet run 的命令行启动.NET Core 应用程序。

标签: angular asp.net-core


【解决方案1】:

在问题的 cmets 中,使用 spa.UseAngularCliServer(..) 调用的请求-响应管道(在 Startup.cs 中)中的默认配置不起作用。

spa.UseAngularCliServer(..) 调用更改为spa.UseProxyToSpaDevelopmentServer("http://localhost:4200"); 解决了这个问题。这样,Angular 应用程序必须使用npm run start 命令行命令从ClientApp 文件夹的根目录单独启动。

更多关于使用UseProxyToSpaDevelopmentServercan be found here的细节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-15
    • 2020-02-02
    • 2021-10-22
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多