2016-09-13 10 views
0

JavaScript依存関係の数が多いMVCページがあります。依存-Aと依存-Bを依存-Bは依存-Aに依存しています。これらは両方とも、ページに含まれているMVCの異なるバンドルに含まれています。これをGoogleのページスピードツールで実行した後、レンダリングのブロックを防ぐためにJSを非同期に含めるべきだと提案しました。MVCバンドルとJSファイルの非同期ロードを組み合わせる方法

依存関係のため、特にロードする必要があります。そのため、LABJSを使用して非同期的に正しい順序でロードし、レンダリングのブロックを防止しています。

これはバンドルのURLを含めることで機能しますが、開発中にJSファイルのデバッグバージョンをローカルに持つことはできません。

JSファイルを非同期的に読み込むことができますが、デバッグバージョンをローカルで維持できるように、誰でもこの方法を提案できますか?

ここに私が現在使用しているものがあります。

<script src="~/Scripts/LAB.min.js"></script> 
<script> 
    $LAB 
    .script("@Scripts.Url("~/bundles/jquery")").wait() 
    .script("/scripts/fileone.js").wait() 
    .script("/scripts/filetwo.js").wait(function() { 
     FunctionInFileTwo(); 
    }); 
</script> 

上記コードのページソースは次のとおりです。

<script src="/Scripts/LAB.min.js"></script> 
<script> 
    $LAB 
    .script("/bundles/jquery?v=GnU3whLS74nHNYUsUJjcWJKdXvKBNbFqBrkQVKSNlKc1").wait() 
    .script("/scripts/scripts/fileone.js").wait() 
    .script("/scripts/scripts/filetwo.js").wait(function() { 
     FunctionInFileTwo(); 
    }); 
</script> 

答えて

0

これで利用できるクリーンなAPIはありません。

Scripts.Render("~/bundles/yourbundle")は、必要なスクリプトタグのIHtmlStringを返します。スクリプトsrcsをその文字列から削除し、正しい$LAB呼び出しを生成するメソッドを作成できます。

Scripts.Manager.RenderExplicit(tagFormat, paths)が近づくと、より良い書式文字列を最初の引数として渡すだけですが、リストの途中に別の書式設定されたスクリプトタグを含むように見えるコードを読み取ることができます。

関連する問題