在Razor的早期版本中,我会通过呈现看起来像这样的部分视图来有条件地加载脚本的缩小/调试版本:
@if (Context.IsDebuggingEnabled)
{
<script src="~/debug.js"></script>
}
else
{
<script src="~/release.js"></script>
}
如果MVC6,vNext,VS2015,或者其他任何你称之为:)我不知道如何做到这一点。谁知道怎么做?
答案 0 :(得分:8)
在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
答案 1 :(得分:3)
有点旧,但您可以在控制器中创建一个ViewBag(或会话对象)并将其传递给ViewBag,如下所示
#if DEBUG
ViewBag.IsDebug = true;
#endif
然后在你看来:
@if (ViewBag.IsDebug)
{
<script src="~/debug.js"></script>
}
else
{
<script src="~/release.js"></script>
}
答案 2 :(得分:1)
您可以在asp.net mvc中使用bundling