jquery/javascriptをasp.net MVCビューから分離しますか?
-
06-07-2019 - |
質問
私はスクリプトを維持するための最良の方法を見つけようとしています、つまりasp.net MVC のビュー (html) とは別の jquery/javascript...
これを行う最良の方法を誰かが考えていますか??
私のビューにはコードの臭いがたくさんあります...
私は過去に JavascriptMVC を使用したことがありますが、これは非常に良い仕事をするので、それらを組み合わせるのは良いアイデアかもしれませんが、javascriptmvc のビュー部分を使用しないことを考えると、おそらく正しい方向ではありません。
スクリプトをビューなどから遠ざけるための最良の方法について、いくつかのアイデアと助けを心からお待ちしています。
YUIやjqueryなどの外部モジュールを多数使用しているので、別の概念/レイヤーを採用する必要がある場合でも問題はありません
お手伝いをお待ちしております
ありがとう
解決
JavaScript をマークアップからどのように分離するかについては、哲学的な違いがあるかもしれません (またはないかもしれません)。私の意見では、JavaScript がマークアップ自体に埋め込まれていない限り、ページ上に JavaScript があっても問題ありません。可能であれば、それ自体のファイルではオフにする必要がありますが、ビュー固有の要素を直接参照する場合は、ビューファイル自体に含めることを好みます。
これが私が使用する戦略です。
- 共通コードをプラグインにリファクタリングします。プラグインを別の JS ファイルに配置し、必要な場所に含めます。
- スクリプト インクルードとコードには、マスター ページの終了 body タグのすぐ内側に別の ContentPlaceHolder (CPH) を使用します。これにより、JS がページ上で機能的に分離され、ページの下部に確実にロードされるようになります。
- マスター ページのスクリプト CPH のすぐ上に共通の JS インクルードを配置します。
- すべてのページに共通であるが、ページ固有の参照を含むコードを、マスター ページの共通インクルードの後に配置します。
- ライブ ハンドラーなどを使用して、部分ビューに JS を配置することは避けてください。可能であれば。
- インクルードと関数定義を除くすべてのコードを $(function() { } 内にラップします (ドキュメント準備完了)。
- 可能な場合は、共通コードのコンテンツ配信ネットワーク (CDN) バージョンを使用してください。
他のヒント
既存のコードのコードスニペットを質問に貼り付けておくと、簡単に支援できます。 をご覧ください。このブログ投稿をご覧になり、HTMLとJavaScriptを分離する方法をご確認ください。
所属していません StackOverflow