0

VS2012 のバンドル機能を使用して結合および縮小された複数の JavaScript ファイルを含む Ember.js を使用して、単一ページのアプリを作成しています。

ミニフィケーションをオンにすると (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 で問題が解決しませんでした。

4

1 に答える 1

0

.NET の Bundlerは、縮小するとEmber RC3を壊します。また、Ember-Data も壊れています。_Layout.cshtml今のところ、別のソリューションに取り組んでいる間、Ember 関連のすべてのスクリプトを直接バンドルせずに含める必要がありました (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 テンプレート (ダウンロード|ソース) を使用している場合は、まだ RC2 を使用しているため問題ありません。ただし、RC3 に更新する場合は、このサンプルに従ってバンドル構成とレイアウト ファイルを変更する必要があります。

PR を SPA テンプレートに送信する時間はまだありませんでしたが、この問題の更新情報があります (今夜中に送信します)。

SPA テンプレートを使用している場合のもう 1 つの点:@Html.RenderEmber()ビュー ファイルのテンプレートをデバッグ モードでレンダリングするための HTML ヘルパーが付属しています。このメソッドは、Ember の規則に従ってテンプレート名をレンダリングしないため、ここでは別のメソッドを追加しました ( @Html.RenderEmberTemplates())。PR/マージ後に同期する必要があります。

Myslik のリポジトリに追加されたサンプルは、おそらく現時点で最新のものであり、参照用に参照することをお勧めします。

于 2013-04-30T14:40:10.030 に答える