7

すべて、私は多くのjqueryまたはjsコードを必要とする高度にインタラクティブなWebアプリケーションに取り組んでいます。そして、私のコードは保守が少し難しくなり、それほど読みにくくなっていることに気づきました。作者でさえ、指定されたコードを見つけることができない場合があります。

これまでのところ、明確なコードに対して私が行ったことは以下のとおりです。

  1. 1つのjsファイル内の1つのjsコンポーネント(たとえばCustomTab.js、私のアプリのタブコンポーネントです)。
  2. Templeteを使用して、JSONに基づいてコンポーネントHTMLを生成します。
  3. JqueryUIを使用します。
  4. 控えめなJavaScript。

他に注意が必要な点はありますか?とにかく、jsライブラリ/フレームワークを簡単に模倣できるようにするための提案や推奨テクニックはありがたいです。

4

4 に答える 4

5

モジュールパターンをRequireJSと一緒に使用して、JavaScriptコードを整理することをお勧めします。本番環境では、RequireJSオプティマイザーを使用してモジュールを1つのJavaScriptファイルにビルドできます。

また、クライアント側のアプリケーションが巨大になると予想される場合は、Backbone.jsなどのJavaScriptMVCフレームワークをサーバー側のRESTfulサービスと一緒に使用することを検討してください。

于 2013-02-27T05:57:46.583 に答える
1

ライブラリには次の名前空間パターンを使用します。

MyLibrary.ListView.js:

var MyLibrary = MyLibrary || {};

MyLibrary.ListView = {

    doSomethingOnListView: function() {
        ...
        return this;
    },

    doSpecialThing: function() {
        ...
        return this;
    },

    init: function() {

        // Additional methods to run for all pages
        this.doSomethingOnListView();

        return this;
    }
};

これが必要なページ:

<script type="text/javascript" src="/js/MyLibrary.ListView.js"></script>
<script type="text/javascript">
$(function() {
    MyLibrary.ListView
        .init()
        .doSpecialThing();
});
</script>

特定のページに追加の機能が必要な場合は、メソッドをチェーンすることもできます。

于 2013-02-27T06:03:29.923 に答える
1

現在、会社のJSフレームワークにも取り組んでいます。私がやっていることは、JSにOOP要素を使用することです。言い換えれば、私はC#ライブラリと同様のコードを実装しています(それほど類似していないので、シミュレートすることが正しい言葉になります)。C#の例として、Microsoft.Window.Formsを使用しているので、JSOOPを使用し、メソッドの拡張とオーバーライドを使用して同じシナリオを作成できます。ただし、プロジェクトを大幅に進めた場合、JSコードをJSOOPに変換するには時間がかかります。

JSLintを使用すると、コードが検証され、読み取り可能でスクリプトエンジンに適したコードになります。JSLintは非常に厳しいので、JSHintも使用できます。

コンポーネントごとに個別のファイルを使用することも、私が行っていることをお勧めします。

必要に応じて、jQuery開発者バージョンをダウンロードして、彼らがフレームワークをどのように作成したかについての一般的なアイデアを得ることができます。jQueryフレームワークを見て多くのことを学びました!

于 2013-02-27T06:09:09.253 に答える
1

これは私が毎回自問するのとまったく同じ質問です。コードのメンテナンスを簡単にする方法はいくつかあると思います。

  • javascriptオープンソースプロジェクトに貢献し、それらがその問題をどのように解決したかを理解してください。各プロジェクトから独自の解決策を集めることができ、プロジェクト構造の共通部分がメンテナンスに関する質問に答えると思います。

  • バックボーンノックアウト残り火、angularjsなどの準備されたソリューションを使用してください。角度が間違っていなければ、構造は得られませんが、少ないコードでページを作成するための強力なツールが提供されます。また、 todomvcで既製のソリューションを確認してください。

  • 本を読んで、あなたのニーズに合った構造を作ってみてください。それは難しくて長いでしょうが、結果(おそらく数年後:))は素晴らしいでしょう。

于 2013-02-27T06:35:56.520 に答える