你能用Microsoft Ajax minifier在运行时缩小javascript吗?

时间:2014-01-14 16:43:36

标签: javascript asp.net minify

我无权访问我们的构建环境,但在我的项目中确实有AjaxMin DLL。我想知道我是否可以在我的MVC-4项目中使用我的捆绑包并缩小我的javascript。

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

我希望在添加捆绑包后,我可以在C#代码中自行缩小文件,而在源代码管理中使用单独的缩小项目文件。

1 个答案:

答案 0 :(得分:1)

不确定这是否是您所需要的,但在ASP.NET 4.5中,当您以非调试模式部署网站时,您可以直接进行捆绑和缩小:

在文件:〜/ App_Start / BundleConfig.cs 中,指定包:

public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/all").Include(
                    "~/Scripts/jquery-{version}.js",
                    "~/Scripts/jquery.validate*",
                    "~/Scripts/bootstrap.js",
                    "~/Scripts/respond.js"));

        bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/Content/bootstrap.css",
                  "~/Content/site.css"));
    }

〜/ Views / Shared / _Layout.cshtml 中使用指定的包:

<html>
  <head>
    <!-- other head declarations -->

    <!-- use the css bundle -->
    @Styles.Render("~/Content/css")
  </head>
  <body>
    <!-- other body declarations -->

    <!-- use the javascript bundle -->
    @Scripts.Render("~/bundles/all")
  </body>
</html>

现在,当您在发布配置中发布ASP.MVC网站时,CSS和JavaScript将被捆绑并缩小为自己的单个css和js文件。

  • CSS将从以下内容下载:/ Content / css?VoSYW5j1afpgB_oENS5Bi。
  • JavaScript将从以下内容下载:/ bundles / all?zWZPUr7GJrRS_Ux89ubfE81

哈希字符串用于防止构建之间的缓存。

一切都非常详细here,值得一看。