Bundler不包含脚本文件

时间:2013-04-30 14:07:15

标签: javascript visual-studio-2012 ember.js bundle

我正在使用带有多个javascript文件的Ember.js创建单页应用程序,这些文件在VS2012中使用捆绑功能进行组合和缩小。

如果我启用缩小(BundleTable.EnableOptimizations = true;),则ember.js库(ember-1.0.0-rc.3.js)不包含在ember包中。为了澄清,文件名不以“.min.js”或“.debug.js”结尾。我的包定义如下:

bundles.Add(new ScriptBundle("~/bundles/ember").Include(
            "~/Scripts/handlebars-1.0.rc.3.js",
            "~/Scripts/ember-1.0.0-rc.3.js",
            "~/Scripts/ember-i18n.js",
            "~/Scripts/localize/loc-slovak.js"));

并在页面上使用:

@Scripts.Render("~/bundles/ember")

我怀疑文件太大(超过28000行,774 kiB)。我试图将nuget包Microsoft.AspNet.Web.Optimization更新到最新版本,但是id没有解决我的问题。

1 个答案:

答案 0 :(得分:0)

.NET的Bundler breaks Ember RC3如果你缩小它。它也打破了Ember-Data。我们必须包含所有与Ember相关的脚本,而不是直接在_Layout.cshtml中捆绑,而我们正在处理不同的解决方案(我们可能会为Ember包含不同的转换):

<script type="text/javascript" 
        src="@Url.Content("~/scripts/ember-1.0.0-rc.3.min.js")"></script>

<script type="text/javascript" 
        src="@Url.Content("~/scripts/ember-data.min.js")"></script>

如果你正在使用SPA模板(download | source),你应该没事,因为它仍在使用RC2;但如果你更新到RC3,那么你必须根据this sample修改包配置和布局文件。

我没有时间将PR发送到SPA模板,但是我有这个问题的更新(今晚会这样做)

如果您正在使用SPA模板,那么另一件事:它带有一个HTML帮助器@Html.RenderEmber(),用于在调试模式下呈现View文件中的模板。此方法不会根据Ember约定呈现模板名称,因此我现在添加了另一种方法(@Html.RenderEmberTemplates())。它们应该在PR / merge之后保持同步。

在Myslik的回购中添加的样本可能是此时最新的样本,我建议你去寻找参考。