使用asp.net优化框架在Web应用程序中捆绑脚本文件

时间:2012-08-24 05:29:32

标签: asp.net bundling-and-minification asp.net-optimization

我正在使用以下代码来捆绑我的Web应用程序脚本,但它不会生成捆绑的脚本

   Bundle bundle = new Bundle("~/miniscripts/");
        bundle.Include(
          "~"+  Paths.Scripts.AdminSkin.js.old_browsers_js,
          "~"+  Paths.Scripts.AdminSkin.js.site_js,
          "~"+  Paths.Scripts.AdminSkin.js.list_js,
          "~"+  Paths.Scripts.AdminSkin.js.jquery_accessibleList_js,
          "~"+  Paths.Scripts.AdminSkin.js.jquery_tip_js,
          "~"+  Paths.Scripts.highchart.highstock_src_js,
          "~"+  Paths.Scripts.highchart.modules.exporting_js,
          "~"+  Paths.Scripts.calendar.calendar_js,
          "~"+  Paths.Scripts.calendar.calendar_setup_js,
          "~"+  Paths.Scripts.AdminSkin.js.live_control_js,
          "~"+  Paths.Scripts.linq_js_ver_3_0_1_beta2.linq_js,
          "~"+  Paths.Scripts.moment.moment_min_js
            );

        BundleTable.Bundles.Add(bundle);

我缺少什么? 感谢。

3 个答案:

答案 0 :(得分:2)

因此假设您使用的是1.0.0软件包,您可能希望使用

new ScriptBundle("~/miniscripts/"); 

否则你的Bundle没有做任何缩小,它只是将所有脚本文件捆绑在一起。然后在您的页面中,您需要添加:

Scripts.Render("~/miniscripts");

对于要渲染的包引用。您还应该在这里查看教程:Optimization Tutorial

答案 1 :(得分:1)

我认为您正在使用在线捆绑和缩小版本。

首先,您必须在创建捆绑包时添加JsMinify,以便asp.net知道如何减少文件的数量

Bundle bundle = new Bundle("~/miniscript", typeof(JsMinify));

然后你必须为你的页面添加一个脚本引用

<script src="<%: Url.Content("~/miniscript") %>" type="text/javascript"></script> 

答案 2 :(得分:1)

我找到了解决方案,我不知道为什么Scripts.Render("~/miniscripts/")不会渲染脚本。 我用Response.Write包装它,问题解决了。

  Response.Write(Scripts.Render("~/miniscripts/"));