我很好奇是否有办法让我的脚本根据环境进行条件处理?我见过一些与我类似的示例,但由于某种原因,脚本在发布时无法呈现。
_ViewImports
@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration
布局(有效)
@RenderSection("Styles", false)
@{
if (@Configuration["ASPNETCORE_ENVIRONMENT"] == "Development")
{
<link href="~/css/test.css" rel="stylesheet" asp-append-version="true" />
}
else
{
<link href="~/css/test.min.css" rel="stylesheet" asp-append-version="true" />
}
}
查看(无效的内容)
@* @{
if (@Configuration["ASPNETCORE_ENVIRONMENT"] == "Development")
{
@section Styles {
<link rel="stylesheet" href="~/css/Folder/file.css" asp-append-version="true"/>
}
}
else
{
@section Styles {
<link rel="stylesheet" href="~/css/Folder/file.min.css" asp-append-version="true"/>
}
}
} *@
如果我只在 @section Styles 中传递Folder/file.min.css或Folder/file.css,@section
它们就会呈现。所以我知道两个文件版本都存在;但是,出于某种原因,如果在里面,@{}
它就不会呈现。
注意:配置值位于我的 appsettings-development-json 内,并且我在调试和发布中都确认该值已正确返回。
您可以像下面这样更改您的代码。
测试结果
发展
生产
我的测试 CSS 文件。
索引.cshtml
_布局.cshtml