当 ASPNETCORE_ENVIRONMENT 设置为 Production 时,无法加载并置的 Javascript 文件

问题描述 投票:0回答:1

在 .NET 8 razor Pages 应用程序中,当我将

ASPNETCORE_ENVIRONMENT
环境变量切换到 Production 时,我的应用程序工作正常,只是它不会加载不直接位于
wwwroot
文件夹中的 javascript 文件。

我的所有 appsettings.json 文件都是相同的,并且不会根据

ASPNETCORE_ENVIRONMENT
进行更改。

例如,我在路径

\Areas\Admin\Pages\Dashboard\Index.cshtml
中有一个razor页面,以及一个附带的javascript文件
\Areas\Admin\Pages\Dashboard\Index.cshtml.js
。当 ASPNETCORE_ENVIRONMENT 设置为
Development
时效果很好,但是当设置为
Production
时,我在浏览器中收到以下错误:
Failed to load resource: the server responded with a status of 404 (Not Found)

除此之外,

styles.css
(我假设是在构建过程中生成的)也无法在
Production
环境中加载。

我的脚本通过以下方式包含:


@section Scripts {
    <script src="~/Areas/Admin/Pages/Dashboard/Index.cshtml.js" asp-append-version="true"></script>
}

此外,检查发布文件夹后,脚本似乎已正确放置在其文件路径中:

\bin\Release\net8.0\publish\wwwroot\Areas\Admin\Pages\Dashboard\Index.cshtml.js

欢迎任何有关可能导致此问题的原因的想法。

javascript .net asp.net-core razor-pages
1个回答
0
投票

在寻找与我的问题有些相似的任何问题后,我发现了这篇文章:生产环境中的AspCore 404。这个答案完全解决了我的问题:

我将

StaticWebAssetsLoader.UseStaticWebAssets(app.Environment, app.Configuration);
添加到我的
program.cs
文件中,所有静态文件现在可以在所有环境中正确加载。

© www.soinside.com 2019 - 2024. All rights reserved.