在jquery-1.3.2.js和jquery-1.3.2.min.js之间切换

时间:2009-10-06 01:18:49

标签: jquery asp.net-mvc

当我开发应用程序时,我想使用jquery-1.3.2.js,当我部署它时,我想使用jquery-1.3.2.min.js?

在没有手动评论和取消注释的情况下,在两者之间切换的最佳方法是什么。

感谢。

6 个答案:

答案 0 :(得分:8)

我有一个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);
}

这简称为:

<%= Html.JavascriptTag("jquery-1.3.2") %>
<%= Html.JavascriptTag("general") %>

我可以使用这个约定,因为我还有一个构建任务,它将所有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 );
}

然后可以这样调用:

<%= 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") %>

上述方法的一个额外好处是您可以将CDN用于库,例如

<%= Html.JavascriptTag("/Content/Scripts/jquery-1.8.2.js", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js") %>

答案 1 :(得分:2)

例如,将两个文件命名为jquery.js,并放入一些文件夹(libs) 当你勉强时,不要部署lib文件夹。

答案 2 :(得分:2)

我确信有人可以将这个答案翻译成asp.net:我根据我的项目中定义的APPLICATION_ENVIRONMENT做一个条件。不确定asp.net中是否有类似的东西,但如果你在生产服务器上,你可以服务.min - 并且在开发/测试机器上你可以提供完整的库。

答案 3 :(得分:1)

如果您以编程方式添加声明,那么最好的方法是使用

#if DEBUG

编译器指令。在DEBUG区域中使用完全展开的库,并在非DEBUG中(当您在发布模式下进行编译以进行发布时)使用.min版本。然后你只需要担心确保在上线时编译Release。

或者,为您的不同版本环境分配.config文件,并在那里指定您的javascript包含。

MSDN link to compiler directives.

答案 4 :(得分:0)

您可以将脚本命名为jquery.js。并添加另外两个js文件。首先将命名为jquery.js.debug,其他命名为jquery.js.release。在编译应用程序时使用适当的js文件。

我正在使用它来更改web.config文件。可以创建其他信息here

答案 5 :(得分:0)

如果您使用的是django,可以使用django-compress自动处理。