2014-09-23 80 views
1

我想知道的是它possinle添加ASCX文件中捆绑喜欢用什么样的文件我们可以在asp.net捆绑

bundles.Add(new ScriptBundle("~/bundles/First").Include(
        "~/Script/js.ascx")); 

我想知道,因为想我必须增加一个文件中捆绑产品发布后,我必须再次为此构建。

回答

2

不,我们不能包括在束我们只用js和css文件捆绑的ascx文件...这里是一个小的解释,为什么我们使用束

随着Web应用程序变得更加复杂,数量它所依赖的外部脚本显着增长。从jQuery和一些应用程序库开始,如Backbone.js(及其依赖项,Underscore),然后从UI框架(如Foundation)和一些表单验证脚本中插入插件 - 更不用说您的应用程序的代码本身了! - 并且您可以轻松发现你的应用程序有几十个外部文件,每个文件都必须在每个页面刷新时加载。

为了解决这个问题,开发人员经常使用名为“bundlers”的工具,它们将脚本文件或样式表连接成一个文件,从而减少了通过Internet发送多个文件的I/O开销。许多人也执行一个称为“缩小”的过程,从而删除非必要的空白,并将变量名称更改得尽可能短,从而导致无法读取但效率极高的代码片段。

ASP MVC提供了两个定制类捆绑ScriptBundle,对于JavaScript文件,并StyleBundle,对CSS。这两个类都提供了内置缩小功能,从而进一步减少了总载荷。您需要为每个包指定一个唯一路径。

var myBundle = new ScriptBundle("~/bundles/js"); 

使用这个包,你可以简单地通过使用它的方法添加新文件(或整个目录!):

myBundle.IncludeDirectory("~/js/vendor/"); 
myBundle.Include("~/js/app.js"); 

一旦你与每捆完成的,其添加以收集作为参数传入

bundles.Add(myBundle); 

继续此模式,直到您将所有你想要的包。

+0

这不回答你是否可以参考的ascx文件中捆绑的问题。 – Nzall 2014-09-23 11:15:12

+0

@NateKerkhofs我编辑了谢谢 – Tushar 2014-09-23 11:22:12

1

嗯,我不能回答具体问题(没试过),但要解决“问题”:

我想知道,因为想我必须增加一个文件中捆绑后产品发布,那么我必须再次为此构建。

根据docs on bundling,您可以选择包含文件甚至目录..和通配符:

所以:

BundleCollection bundles = BundleTable.Bundles; 

bundles.Add((new ScriptBundle("~/bundle/custom") 
    .IncludeDirectory("~/Scripts/edsf/", "ed*"))); 

方式:

  • 我针对一个文件夹/Scripts/edsf
  • 我希望所有的脚本开始"ed",在规定的目录,是在脚本包中,例如
    • edsf.js
    • edfoo.js

如果我添加一个新的文件,edbar.js,到/Scripts/edsf目录时,它会自动捆绑在一起,你会看到的版本字符串得到更新。

无需建....

H个...