1

これはやや一般的な問題のように思われます。サーバーでjavascriptを作成して後でクライアント側にロードする場合の一般的な落とし穴、ベストプラクティス、ベストアプローチ、セキュリティ上の懸念などは何でしょうか。

FWIW、私はこれをRubyで行っており、JQueryも使用しています。基本的にはフォームビルダーです。これが私がしていることです:

静的フォーム入力(たとえば、select、radio、checkbox、およびいくつかのより複雑な入力も)を動的に作成する管理フォームビルダーがあります。対応するjavascriptイベントハンドラーを作成する必要があります(jqueryを使用)。基本的に、事前定義された各入力タイプにマップされるhtmlビルダーラムダとイベントハンドララムダがあります。つまり、selectには次のようなものが{'select'=>[select_builder_lamb, select_js_handler_lamb]}あり、htmlタイプを検索して必要なコードを生成し、管理者が「好みに合わせて」フォームを作成できるようにします。 。これはうまく機能しています。

ここで、これをシリアル化して、登録ページが要求されたときにリロードするか、javascriptを「目立たない」ファイルに書き出すか、生のhtmlとjavascriptをデータベースに保存するかなどを判断する必要があります。生成に問題はありません。それ自体-したがって、高レベルが次の場合:1)htmlとjavascriptを作成します2)後で使用するために永続化します3)httpリクエストに使用します-私の質問はステップ2と3です。

あなたがこの種のことをした経験があり、警告と知恵を提供することができれば、それは深く感謝されます!

4

1 に答える 1

2

頭に浮かぶいくつかのこと:

コード分​​離

HTML ページに JavaScript を埋め込むことは広く行われていますが、多くの人は、コード分離の実践は優れていると考えています。この点で、JavaScript を別のファイルに配置することについて言及しています。これは、控えめな JavaScriptとして知られるより広い概念の一部です。

Web 開発者として、次のようなさまざまなテクノロジを知る必要があります。

  • サーバー スクリプト (PHP、ASP、Ruby など)
  • JavaScript (およびフレームワーク)
  • XML
  • HTML
  • XSLT、XPATH
  • CSS
  • SQL

これらすべてを含むコード ファイルをイメージします。それは混沌としているでしょう!

サーバーから JavaScript を出力すると、JavaScript を別のファイルに分離することができなくなります。これらを分離すると、コードはよりモジュール化され、再利用可能になり、読みやすく、テストしやすくなり、...

単体テスト

個人的に単体テスト フレームワークを使用していないかもしれませんが、JavaScript のモジュール化は、独立したテスト可能な (および再利用可能でテスト可能な) モジュールを作成するために不可欠です。

サーバーに出力されるスクリプトはモジュール化されていませんが、さらに重要なことに静的ではないため、単体テスト フレームワークに適合させるのは困難です。

タグスープ

これに対してコーディングすることは可能ですが、クライアント スクリプトとサーバー スクリプトを混在させると、タグ スープが生成される傾向があり、読み取りと保守が困難になります。

デバッグ

どの IDE を使用しているかはわかりませんが、私の作成した JavaScript をステップ実行することができます。サーバーから出力するということは、これができないということです。

于 2009-09-11T06:05:35.687 に答える