Chr*_*ken 5 c# node.js asp.net-core-mvc asp.net-core angular
我正在使用 ASPNetCore 和 Angular 7。我的 Angular 应用程序变得越来越大,所以每次运行时重新编译 C# 代码和 Angular 代码变得很麻烦。
我的 Startup.cs 文件中有这一行。
if (env.IsDevelopment()) {
spa.UseAngularCliServer(npmScript: "start");
}
Run Code Online (Sandbox Code Playgroud)
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 重新启动,请在外部运行 Angular CLI 服务器,独立于 ASP.NET Core 进程。这样做:
在命令提示符中,切换到 ClientApp 子目录,并启动 Angular CLI 开发服务器:
cd ClientApp
npm start
Run Code Online (Sandbox Code Playgroud)
重要的
使用 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");
Run Code Online (Sandbox Code Playgroud)
当您启动 ASP.NET Core 应用程序时,它不会启动 Angular CLI 服务器。而是使用您手动启动的实例。这使它能够更快地启动和重新启动。它不再每次都等待 Angular CLI 重新构建您的客户端应用程序。
归档时间: |
|
查看次数: |
1079 次 |
最近记录: |