0

(関連する質問: rv.jsr.jsの違いは何ですか?)

一連の RactiveJS ベースのコンポーネントがあり、それぞれが独自のモジュールになっています。Ractive サイトで言及されている rv.js ローダー (上記のリンク) を使用します。私はそれを気に入っていますが、私がやりたいのは、それ (または同様のもの) を使用して、非 AMD/RequireJS アプリでも機能する 1 つの JS ファイルを構築することです。私は Almond を見てきましたが、(rv.js ではなく) r.js を使用したいようで、何が違うのか、どのような変更が必要なのかわかりません。

ボーナス ポイント: このすべてを Gulp で実行する方法はありますか? 私は、彼がコマンド ラインを使わなければならないときにうんざりする人の 1 人なので、ゆっくり話して、私の無知を許してください :)

4

1 に答える 1

0

返信が遅くなりました、申し訳ありません。

  • rv.js は、ractive コンポーネントをあたかも JavaScript モジュールであるかのようにロードする RequireJS プラグインです。
  • r.js は RequireJS オプティマイザーであり、すべてのファイルをまとめて縮小するために使用されます (まさにあなたのユースケース)

RequireJS はサイズが非常に大きいため、ビルド中にアプリケーション js にバンドルする必要はありません。

almond.js を入力します。RequireJS のモジュール解決を模倣していますが、ネットワーク経由でのファイルの実際の読み込みを処理するコードはありません。その結果、ファイル サイズが小さくなります。

したがって、ワークフローは次のようになります。

  • 開発中に RequireJS を使用する
  • すでに行っているように、rv.js を使用して、ractive コンポーネントをロードします。
  • ビルドするときは、r.js を使用してビルドします
  • そして、almond.js が最終的にビルドされた js ファイルで RequireJS を置き換えることを確認します

現在、私は grunt を使用していますが、そのためのプラグインがあります: grunt-contrib-requirejs

その ページのドキュメントを見ると、ビルドプロセス中にrequirejsをアーモンドに置き換えるオプションがあります

それが役立つことを願っています。

于 2016-05-25T11:58:02.757 に答える