問題タブ [asp.net-optimization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - {version} MVC4 バンドルのワイルドカード
MVC 4 にはバンドルがあります。バンドルを定義する際、フォルダー内のすべてのファイルに * などのワイルドカードを使用できます。
以下の例では、-{version}
どういう意味ですか?
asp.net-mvc - ASP.NET バンドルで CSS バンドルに media=screen を指定するようにする
ASP.NET 4.5 のバンドルと縮小を試したところ、問題が発生しました。
私は約 10 個の css ファイルを持っています。そのうちの 2 個はもともと属性 media="screen" を使用してレイアウトで参照されていました。
バンドルに css を追加するための構文では、そのような属性を追加する必要があることを指定できないため (属性はバンドル全体に適用されるため、理にかなっています)、@Styles.Render のオーバーロードが表示されることを期待していました。他の Html ヘルパーと同様に、html 属性を指定できますが、何もありません。
作成されたバンドルの URL を知っているため、自分でタグを作成することもできますが、ASP.NET がタグ自体をレンダリングできるようにすることで、ASP.NET によって処理されるキャッシュ メカニズムが失われてしまいます。
これを行う方法はありますか、何か不足していますか? それとも、これは設計チームの単なる見落としですか?
azure - バンドルおよび縮小されたファイルを Windows Azure CDN にアップロードする方法
名前空間で ASP.NET MVC 4 バンドルおよび縮小機能を使用していMicrosoft.AspNet.Web.Optimization
ます (例: @Styles.Render("~/content/static/css")
)。
Windows Azure CDN と組み合わせて使用したい。
カスタムの作成を検討しましたBundleTransform
が、コンテンツはまだ最適化されていません。
また、実行時に最適化されたストリームを解析してアップロードすることも検討しましたが、それは私にとってハックのように感じられ、あまり好きではありません。
バンドル バージョンと縮小バージョンを Windows Azure CDN に自動的にアップロードするにはどうすればよいですか?
javascript - Document.ready のバンドルから JavaScript を実行する
MVC4 デフォルト テンプレートを使用します。
私はスクリプトを追加します: 関数でMyScript.js
:/Scripts/MyApp/
global.asax で:
このメソッドを呼び出したい/Views/Home/Index.cshml
以下のコードを試しましたが、成功しませんでした:
ソースコードを見ると、そこへのリンクMyScript.js
があり、そこに移動できます(ソースに移動します)
ただし、 のTesting()
メソッド $(document).ready
は実行されません。
アップデート1
asp.net-mvc - ASP.NETMVCフレームワーク4.5CSSバンドルはホスティングでは機能しません
MVC4で記述されたアプリハーバーでアプリを実行しています。
cssファイルのバンドルは機能しません。デバッグモードのローカルコンピューターで、アプリのコードとファイルが表示されます。アプリは期待どおりに動作します。
アプリをAppharborにアップロードすると、コードにバンドルが表示されますが、アプリが機能しません。
そのリンクを参照すると、href
403 -Forbidden:アクセスが拒否されます。
これをトラブルシューティングする方法は?
asp.net - 手動でアップグレードした後、新しい ASP.NET Web 最適化フレームワークを MVC4 プロジェクトに追加する
これらの手順を使用して ASP.NET MVC プロジェクトを MVC4 に手動でアップグレードした後、MVC4で ASP.NET Web 最適化フレームワークの新しい CSS および JavaScript アセット バンドルと最小化機能をどのように設定しますか? デフォルトのテンプレートにはこれがすべて設定されていますが、手動で行うにはどうすればよいでしょうか?
asp.net - Visual Studio 2012 ASP.NET バンドルが途中で失敗する
VS 2012 の新しいバンドル機能をセットアップしようとしています (Microsoft.Web.Optimization パッケージを介して - 詳細はこちらを参照)。ほとんどの場合、すべてが正常に機能しています。問題は、処理が 15000 文字以下になると断念することです。
ページをビルドして実行すると、ロードされた JavaScript ファイルが関数の途中で行の途中で切り捨てられるため、一連のエラーが発生します...
他の誰かがこれを経験したことがありますか、またはこの問題を解決する方法について洞察を持っている人はいますか?
- アップデート -
を使用して最初にこのエラーが発生しfoo.AddDirectory("~/scripts/", "*.js")
ました。jqueryfoo.AddFile("~/scripts/bar.js")
プラグインを含めると、JavaScriptエラーのみを使用すると発生します。サーバーでエラーがスローされていません。
--UPDATE2--
この問題は、Web 最適化ライブラリが最新ではないことが原因でした。これを使用しようとする人は誰でも、NuGet コマンド ラインからライブラリを取得することを強くお勧めします: Install-Package -IncludePrerelease Microsoft.AspNet.Web.Optimization
. ウェブ上にはさまざまなバージョンのドキュメントと例がありますが、最新のものは上記の方法を使用して見つけることができ、最新のドキュメントは以下の回答にあるものです。
.net - System.Web.Optimization のソースはどこにありますか?
メイン サイトのアプリケーション フォルダの下にある IIS VirtualDirectory にあるファイルを参照するスクリプト バンドルを作成すると、何も出力されない理由を理解しようとしています。
この投稿を見つけました:
ResolveBundleUrl がカスタム フォルダーで機能しないのはなぜですか? (MVC ベータ 4)
しかし、System.Web.Optimization の最新のベータ ビルドでは有効ではなくなったようです。
.net - System.Web.OptimizationバンドルをIIS仮想ディレクトリのカスタムフォルダーで機能させるにはどうすればよいですか?
私はasp.netmvc4を持っています。IIS仮想ディレクトリを使用してこのアプリケーション内にサブディレクトリとして展開されるモジュールがあり、これらのモジュール内のファイルを参照する必要があります。これらのモジュールdllはバンドルを登録しています。しかし、バンドルはhtmlページに何も生成していません。
この投稿、is-it-possible-to-unit-test-bundleconfig-in-mvc4から、バンドルが内部的にServer.MapPathを使用していることがわかります。だから、うまくいくようです。
私はBundleTable.MapPathMethodをフックし、Server.MapPathを自分で呼び出しました。これは、正しい物理ディレクトリに正しく解決されます。ただし、それでもhtmlページには何もレンダリングされません。
次に、カスタムフォルダの「AddDirectory」関数について言及したこの投稿、why-does-resolvebundleurl-not-work-for-custom- foldersがありましたが、この関数は最新の最適化ライブラリでは使用できなくなりました。
新しい「IncludeDirectory」メソッドを使用してみましたが、それも機能しませんでした
この作品を作るために他に何かできることはありますか?
2012年8月27日
問題の解決:基本的に、System.Web.Optimizationは、サブIIS仮想ディレクトリであるWebURLでは機能しません。
問題は、BundleResolver.GetBundleContents内のこれらのコード行です。
これは基本的に、バンドルされるすべてのファイルがプライマリWebアプリケーションのPHYSICALフォルダーの下にあるPHYSICALフォルダーにあることを前提としています。
問題、IMOは、含めるファイルを検索するWeb相対URLパスが非常に早い段階で物理パスに変換され、それらの物理ファイルを取得するために使用された相対URLパスへのすべての参照が破棄されることです。
したがって、これを機能させることができるかどうかを確認するには、System.Web.Optimizationをベアコードに逆コンパイルしてから、再度コンパイルして「修正」する必要がありました。最初のステップは、BundleItemにRelativePathプロパティを追加することでした。これは、BundleItemに追加のコンストラクターを追加して、ソース相対URLパスを渡し、Web相対検索ディレクトリフォルダーが何であったかを保持します。次に、上記のコードをループに置き換えてから、基本的にBundleItemで見つかったファイルを再照合して、有効なWebURLに変換できるようにします。
これで、バンドルが適切にレンダリングされます。ただし、このハック修正のリリース、最適化、縮小化についてはまだテストしていないことに注意してください。
asp.netチームは、System.Web.OptimizationsがIIS仮想ディレクトリ内のファイルをサポートするようにする必要があると本当に思います。特に、VS2012がIIS Expressをサポートするようになったため、IIS仮想ディレクトリを介して参照されるファイルを使用してモジュラーWebアプリを簡単に構築できるようになります。
asp.net - asp.net最適化フレームワークを使用してWebアプリケーションにスクリプトファイルをバンドルする
次のコードを使用して Web アプリケーション スクリプトをバンドルしていますが、バンドルされたスクリプトが生成されません
私は何が欠けていますか?ありがとう。