J.W*_*.W. 12 asp.net-mvc jquery
当我开发应用程序时,我想使用jquery-1.3.2.js,当我部署它时,我想使用jquery-1.3.2.min.js?
在没有手动注释和取消注释之间切换两者的最佳方法是什么.
谢谢.
我有一个HtmlHelper扩展方法来加载我的JavaScript文件.它看起来像这样......
public static string JavascriptTag(this HtmlHelper html, string javascriptName)
{
var format = "<script src=\"/Content/Scripts/{0}.js\" type=\"text/javascript\"></script>\r\n";
#if (!DEBUG)
javascriptName += ".min";
#endif
return string.Format(format, javascriptName);
}
Run Code Online (Sandbox Code Playgroud)
这简称为:
<%= Html.JavascriptTag("jquery-1.3.2") %>
<%= Html.JavascriptTag("general") %>
Run Code Online (Sandbox Code Playgroud)
我可以使用这个约定,因为我还有一个构建任务,它将所有JS文件放在我的内容/脚本目录中,缩小它们然后将.min插入到文件名中.
如果你没有那种奢侈品,你可以使用这样的变化:
public static string JavascriptTag(this HtmlHelper html, string devFileName, string liveFileName)
{
var format = "<script src=\"{0}\" type=\"text/javascript\"></script>\r\n";
var fileNameToUse = devFileName;
#if (!DEBUG)
fileNameToUse = liveFileName;
#endif
return string.Format(format, fileNameToUse );
}
Run Code Online (Sandbox Code Playgroud)
然后可以这样调用:
<%= Html.JavascriptTag("/Content/Scripts/jquery-1.3.2.js", "/Content/Scripts/jquery-1.3.2.min.js") %>
<%= Html.JavascriptTag("/Content/Scripts/general.js", "/Content/Scripts/general.min.js") %>
Run Code Online (Sandbox Code Playgroud)
上述方法的另一个好处是您可以将CDN用于库,例如
<%= Html.JavascriptTag("/Content/Scripts/jquery-1.8.2.js", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js") %>
Run Code Online (Sandbox Code Playgroud)