使用缩小的JS和CSS的公共条件Razor视图

che*_*xis 4 asp.net-mvc razor asp.net-mvc-5 razorengine

我正在使用ASP.NET MVC 5来开发我的网站.我正在使用Grunt来缩小我的CSS和JS.一切正常,但如果我正在进行发布(发布模式)或者我正在调试(我需要清楚地阅读我的CSS和JS),我需要更改文件的路由源.

像这样的东西:

[调试模式]

<script src="scripts/myscript.js"></script>
Run Code Online (Sandbox Code Playgroud)

[相对模式或公共模式]

<script src="dist/myscript.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

我已经在StackOverflow(Razor视图引擎,如何进入预处理器(#if debug))上阅读了这篇文章,我不喜欢所提出的解决方案,因为我认为(不确定)加载的Razon View将始终在生产中检查服务器,如果它处于发布或调试模式,我认为没有必要.

有人可以确认我是对的吗?我是否需要手动进行更改?还有其他方法吗?

谢谢!!问候!!

Sho*_*hoe 6

您可以实现此目的的一种方法是在http上下文中检查调试模式.

@if (HttpContext.Current.IsDebuggingEnabled)
{
    <script src="scripts/myscript.js"></script>
}
else
{
    <script src="dist/myscript.min.js"></script>
}
Run Code Online (Sandbox Code Playgroud)