1

私はSmartyを使用してビューを処理しています。コードの再利用を最大化するために、ビューファイルを小さなセグメントに分割し、必要な場所に含めるだけです。これは、ブラウザでレンダリングしたときにマークアップの一貫性を維持するため、うまく機能します。

問題は、特定のDOM操作を行うJSもあることです。これは、私のJSがマークアップ構造などを認識している必要があることを意味します。多くの場合、JSはSmartyテンプレートファイルにすでに存在するマークアップの同一のコピーを維持することを余儀なくされます。

マークアップへの変更はSmartyテンプレートファイルで、場合によってはJSマークアップで行う必要があるため、これはメンテナンスの悪夢になります。

これをエレガントに処理する方法について何か提案はありますか?それとも私はこれを必要な悪として受け入れるのでしょうか?

4

1 に答える 1

0

ビューファイルを小さなセグメントに分割し、必要な場所に含めるだけです

JavaScriptでも同じようにします。モジュール式と考えて、ページの代わりにモジュールを作成します。すべてのモジュールには、HTML(あなたの場合はSmarty)、JavaScript、CSSが含まれます。そのモジュールを必要とするページには、これら3つのファイルが必要です。または、すべてをバンドルして、モジュールを簡単に含めることができます。モジュールを作成するときは、ページではなくモジュールを編集します。そうすれば、JavaScriptやCSS/HTMLを編集して物事を壊すことはありません。

モジュールは、ページ内の他のモジュールから独立しているものであれば何でもかまいません。もちろん、モジュールは相互に通信できますが、モジュールシステムに一貫したAPIを定義する必要があります。

このアプローチではメンテナンスが簡単になりますが、欠点は、アプリ全体をほぼ書き直してモジュール化する必要があることです。

于 2012-07-05T05:13:49.810 に答える