gpt4 book ai didi

c# - 如何保持 AngularCLIServer 在使用 Angular 7 的 asp.net 核心构建之间运行

转载 作者:行者123 更新时间:2023-11-30 21:27:41 24 4
gpt4 key购买 nike

我正在使用 ASPNetCore 和 Angular 7。我的 Angular 应用程序越来越大,因此每次运行时都重新编译 C# 代码和 Angular 代码变得很麻烦。

我的 Startup.cs 文件中有这一行。

  if (env.IsDevelopment()) {
spa.UseAngularCliServer(npmScript: "start");
}

是否有可能 A. 在我终止 ASPNet 应用程序时保持它运行,或者 B,单独运行它并仍然通过 aspnet 应用程序正在使用的同一 SSL 端口路由请求?

由于 Angular 有热模块替换,我只想保持它在 99% 的时间内运行,并在我更改 C# 代码时重新编译我的后端。

最佳答案

来自文档

独立运行“ng serve”该项目配置为在 ASP.NET Core 应用程序以开发模式启动时在后台启动其自己的 Angular CLI 服务器实例。这很方便,因为您不必手动运行单独的服务器。

此默认设置有一个缺点。每次您修改 C# 代码并且您的 ASP.NET Core 应用程序需要重新启动时,Angular CLI 服务器都会重新启动。需要大约 10 秒才能重新启动。如果您经常编辑 C# 代码并且不想等待 Angular CLI 重新启动,请独立于 ASP.NET Core 进程在外部运行 Angular CLI 服务器。为此:

在命令提示符下,切换到 ClientApp 子目录,并启动 Angular CLI 开发服务器:

cd ClientApp
npm start

重要

使用 npm start 启动 Angular CLI 开发服务器,而不是 ng serve,这样 package.json 中的配置就会得到尊重。要将其他参数传递给 Angular CLI 服务器,请将它们添加到 package.json 文件中的相关脚本行。

修改您的 ASP.NET Core 应用程序以使用外部 Angular CLI 实例,而不是启动它自己的实例。在您的 Startup 类中,将 spa.UseAngularCliServer 调用替换为以下内容:

C#

spa.UseProxyToSpaDevelopmentServer("http://localhost:4200");

当您启动 ASP.NET Core 应用时,它不会启动 Angular CLI 服务器。而是使用您手动启动的实例。这使它能够更快地启动和重新启动。它不再等待 Angular CLI 每次都重建您的客户端应用程序。

关于c# - 如何保持 AngularCLIServer 在使用 Angular 7 的 asp.net 核心构建之间运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57360446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com