MVC6 剃须刀如何检测调试模式



在以前版本的 Razor 中,我会通过渲染如下所示的部分视图来有条件地加载脚本的缩小/调试版本:

@if (Context.IsDebuggingEnabled)
{
    <script src="~/debug.js"></script>
}
else
{
    <script src="~/release.js"></script>
}

如果MVC6,vNext,VS2015或任何你称之为:)我不知道如何做到这一点。有人知道怎么做吗?

在 MVC6 中,可以使用环境标记帮助程序加载不同版本的脚本,具体取决于开发环境与生产环境。这基于 ASPNET_ENV 环境变量的值。

<environment names="Development">            
    <script src="~/debug.js"></script>
</environment>
<environment names="Staging,Production">
    <script src="~/release.js"></script>
</environment>

捆绑和缩小将使用像 Gulp 或 Grunt 这样的任务来处理。

我在这里详细概述了新方法:http://www.davepaquette.com/archive/2015/05/05/web-optimization-development-and-production-in-asp-net-mvc6.aspx

有点旧,但你可以在控制器中创建一个 ViewBag(或会话对象)并将其传递给像这样的 ViewBag

#if DEBUG
            ViewBag.IsDebug = true; 
#endif

那么在您看来:

@if (ViewBag.IsDebug)
    {
    <script src="~/debug.js"></script>
}
else
{
    <script src="~/release.js"></script>
}

您可以在 asp.net mvc 中使用捆绑

最新更新