2

モバイル サイトの新しいバージョンの作業を開始しています。私はamdスクリプトローダーの使用を検討しており、requireとlsjsにかなり絞り込みました。どちらにも多くの賛否両論があることは承知していますが、私のサイトのモバイル バージョンでそれらすべてを理解しようとしています。このライブラリをモバイルレベルで使用した経験のある人はいますか? 人々が最善の方法だと考える方法について、ここで議論を進めようとしているだけです。(担当者が 1500 人いる人なら誰でも lsjs タグを作成したいと考えています:))。これらのライブラリの作成者 (todd burke または richard backhouse) のいずれかが、これについて意見を持っている可能性があります。

ありがとう

編集:

以下のすばらしい情報を提供してくれた Simon Smith に感謝します。誰かが lsjs を使ったことがありますか? 速度の点では非常に有望に見えますが、ユーザーベース、ドキュメント、または(私が思うに)require / curlの機能はありませんが、それでも非常に有望に見えます

4

2 に答える 2

2

本番環境に移行する準備が整うまでは、RequireJS を使用することをお勧めします。次に、スクリプトをコンパイルし、RequireJS を Almond に置き換えます。これは、James Burke (RequireJS の作成者) によって作成された最小限のライブラリであるため、シームレスに動作するために信頼できます。

一部の開発者は、AMD API を使用してモジュラー JavaScript をコーディングすることを好みますが、最適化されたビルドを行った後は、RequireJS のような完全な AMD ローダーを含めたくありません。これらのすべての機能は必要ないためです。モバイルなどの一部のユース ケースは、ファイル サイズに非常に敏感です。

ビルド ファイルにアーモンドを含めることで、RequireJS は不要になります。Closure Compiler で圧縮して gzip すると、almond は約 1 キロバイトになります。

https://github.com/jrburke/almond

編集:

Curl.js もオプションです。私はそれを使用していませんが、RequireJS よりもはるかに小さいことを知っています。理由について少し調査しました:

RequireJS は Curl で次のことを行います (James Burke 経由):

  • マルチバージョン/コンテキストをサポートし、模擬テストに役立ちますが、それがなくても大丈夫です
  • AMD モジュールである必要はありません。
  • 特別な検出をサポートし、古いバージョンの jQuery で動作します (jQuery 1.7.1 以降を使用している場合は問題になりません)。
  • (現時点では) 簡素化されたラップされた commonjs スタイルのより良いサポート: define(function(require) {});

要するに、アプリで AMD モジュールのみを扱い、マルチバージョン/コンテキスト サポートを必要とせず、簡素化された commonjs ラッピング スタイルを使用していないか、古い jQuery を使用している場合は、curl が適切な選択になる可能性があります。

https://groups.google.com/forum/?fromgroups=#!topic/requirejs/niUyLZrivgs

そしてCurlの作者:

RequireJS は、WebWorkers や node.js など、curl.js よりも多くの場所で実行されます。また、curl.js よりも多くの「バトル テスト」が行われているため、エッジ ケースに関するバグが少ない可能性があります。curl.js には、暗黙的な依存関係のプリロードや、AMD でラップされた commonjs モジュールのサポートなど、いくつかの重要な機能も欠けています。これらはどちらもバージョン 0.6 (来週後半) で提供されます。

プラス面では、curl.js...

サイズは RequireJS の 1/4 と小さく、たとえ js にバンドルされていても! そしてdomReady! プラグインのサイズはまだ半分以下です。

RequireJS よりもモジュールの読み込みが高速ですが、IE6-8 または開発 (非ビルド) 環境では意味のあるだけです。

AMD 以外の形式のプラグ可能なモジュール ローダーをサポートします (たとえば、ラップされていない CJSM/1.1 および CJSM/2.0 に取り組んでいます)。

wire.js などの IOC コンテナー (cram.js 経由) を介した構成ベースの依存関係管理をサポートします。

css のインライン化 (cram.js 経由) と css の連結 (年末までに cram.js 0.3 経由) をサポート

https://github.com/cujojs/curl/issues/35#issuecomment-2954344

于 2013-02-20T23:05:36.097 に答える