You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET Core 6.0中配置Angular i18n的开发生产环境及代理

ASP.NET Core 6.0 + Angular 国际化应用配置问题

我搭建了一个ASP.NET Core 6.0与Angular结合的应用,已实现Angular国际化功能。目前可通过以下命令单独启动对应语言的Angular应用:

  • ng serve --configuration=de --serve-path /de
  • ng serve --configuration=en --serve-path /en

运行npm run build --prod --localize后,Angular项目的dist文件夹会生成包含对应语言内容的de和en两个子文件夹。

现在希望通过Visual Studio运行整个混合应用,配置开发和生产环境,但启动IIS Express时,SPA代理持续重载且无法找到Angular应用。

当前的proxy.conf.js配置如下:

const { env } = require("process");

const target = env.ASPNETCORE_HTTPS_PORT
  ? `https://localhost:${env.ASPNETCORE_HTTPS_PORT}`
  : env.ASPNETCORE_URLS
  ? env.ASPNETCORE_URLS.split(";")[0]
  : "http://localhost:23002";

const HttpsAgent = require("agentkeepalive").HttpsAgent;

const PROXY_CONFIG = [
  {
    context: ["/api"],
    target: target,
    secure: false,
    changeOrigin: true,
    agent: new HttpsAgent({
      maxSockets: 100,
      keepAlive: true,
      maxFreeSockets: 10,
      keepAliveMsecs: 100000,
      timeout: 6000000,
      keepAliveTimeout: 90000,
    }),
    onProxyRes: (proxyRes) => {
      const key = "www-authenticate";
      proxyRes.headers[key] =
        proxyRes.headers[key] && proxyRes.headers[key].split(",");
    },
  },
];

module.exports = PROXY_CONFIG;

在.NET 5中我可以通过类似以下的app.UseSpa配置实现,但在.NET 6.0中按此配置启动时,代理无法找到Angular页面并持续重载:

// .NET 5 Startup.cs 配置示例
var startUpLanguage = "de"; // de 对应德语,en 对应英语

var options = new RewriteOptions().AddRedirect(@"^(?!(de/|en/))(.*$)", $"{startUpLanguage}/$1");
app.UseRewriter(options);

if (!env.IsDevelopment())
{
   // 生产环境SPA配置
}
else
{
   // 本地开发环境SPA配置
   app.UseSpa(spa =>
   {
       spa.Options.SourcePath = "AngularApp";
       spa.UseAngularCliServer(npmScript: $"start-local-{startUpLanguage}");
    });
}

对应的package.json脚本:

"start-local-de": "ng serve --configuration=de --serve-path /de",
"start-local-en": "ng serve --configuration=en --serve-path /en"

咨询问题

  1. .NET 6中针对开发和生产环境的正确配置方案是什么?
  2. 如何正确配置代理以解决持续重载、无法找到Angular应用的问题?

内容的提问来源于stack exchange,提问作者Marc Thieme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 12:05:28