【问题标题】:Issue publishing .net core 3.1 with react application to IIS发布带有反应应用程序到 IIS 的 .net core 3.1
【发布时间】:2021-02-03 04:46:29
【问题描述】:

我正在尝试将带有反应应用程序的 .net core 3.1 发布到 IIS。
我正在使用 Visual Studio 2019 发布应用程序,并带有独立选项。一切都正确发布。然后我将文件复制到生产服务器并在 wwwroot/project_name/ClientApp 目录中运行 npm install。

应用程序发布并安装 node_modules 后,我尝试在浏览器中访问该站点并在浏览器开发工具中收到以下错误:

GET http://localhost:9000/project_name/static/css/main.6ee213d7.chunk.css 响应:您需要启用 JavaScript 才能运行此应用程序。
获取 http://localhost:9000/project_name/static/js/2.1881f413.chunk.js 响应:您需要启用 JavaScript 才能运行此应用。

GET http://localhost:9000/project_name/static/js/main.59fc77d5.chunk.js 响应:您需要启用 JavaScript 才能运行此应用。

我还在浏览器控制台中看到以下错误:

样式表 http://localhost:9000/project_name/static/css/2.5d15527e.chunk.css 是 未加载,因为它的 MIME 类型“text/html”不是“text/css”。

脚本来自 “http://localhost:9000/project_name/static/js/main.59fc77d5.chunk.js” 即使其 MIME 类型(“text/html”)不是有效的,也已加载 JavaScript MIME 类型。

样式表 http://localhost:9000/project_name/static/css/main.6ee213d7.chunk.css 未加载,因为它的 MIME 类型“text/html”不是“text/css”。

脚本来自 “http://localhost:9000/project_name/static/js/2.1881f413.chunk.js”是 即使它的 MIME 类型(“text/html”)不是有效的也加载 JavaScript MIME 类型。

网址不正确。我尝试添加“主页”:“http://localhost:9000/project_name”和“主页”:“。”到 package.json 但都不起作用。

http://localhost:9000/favicon.ico

查看开发人员工具的“网络”选项卡。我看到一个被阻止的请求:

GET http://localhost:9000/

其他所有内容都返回“您需要启用 JavaScript 才能运行此应用。”

我已验证 javascript 已启用。

我已经在目标服务器上安装了 .NET Core 托管包。

这是 Program.cs 文件:

public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                    webBuilder.UseIISIntegration();
                    webBuilder.UseIIS();
                });
    }

有人可以帮我使用 IIS。

【问题讨论】:

    标签: reactjs asp.net-core iis .net-core


    【解决方案1】:

    在尝试了 startup.cs 中的设置后,我能够让它运行。以下是我在 Startup 中所做的更改:ConfigureServices:

    services.AddSpaStaticFiles(configuration =>
                {
                    configuration.RootPath = "ClientApp/build";
                });
    

    配置:我删除了这个:

    app.UseSpaStaticFiles(new StaticFileOptions { RequestPath = "/ClientApp/build" });
    

    并添加了这个:

    app.UseStaticFiles();
    app.UseSpaStaticFiles();
    

    在这些更改之后,我遵循了与上述相同的步骤。在本地发布应用程序,将其复制到生产服务器并运行 npm install。这次成功了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-26
      • 1970-01-01
      • 2020-04-08
      • 2021-01-30
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多