2012-04-26 11 views
3

2012年4月にこの質問をしなければならないのは非常に悲しいことですが、問題へのアプローチはほとんどありません。JavaScriptの依存関係を静的に解決するためのベストプラクティス

だから、私はのためのツールを静的に、の依存性を解決するjavacriptファイルをコンパイルします。

  • フォルダをスキャンし、すべての*.jsファイル
  • は、このファイルを解析し、いくつかの非常にシンプルな同期と100を見つける見つける: は、私は次の操作を行うことができた(のがsometoolそれを呼びましょう)、そのようなツールが欲しい、より正確には%jsに準拠した指令です。同期では、onloadハンドラを渡すようなものがないことを意味します。静的テキストの前処理についてのみです。をカスタマイズすることができ、いくつかの設定を使用して、中で使用さ// @include
  • 解決パスのようなものがディレクティブを含める - 100%JS準拠することで、私はそれがビューのJS点からのコメントのように見えることがあります見えることを意味します。
  • すべてを実際の出力に置き換えて別のフォルダに入れます。

私はこのすべてがあなたの最も明白に聞こえることを認識んが、依存関係管理の話をしながら、javascriptersは、最近少し異なる何かを理解する - たとえば、require.jsを参照してください。実際には1つの答えがあり

答えて

3

sprocketsをご覧ください。 JavaScriptファイルをバンドルしてパックすることができ、サポートには含まれます。 しかし、定型コードを書く必要があるかもしれません。 スプロケットを同梱のコマンドラインから実行できるスクリプトがあるようです。それはRubyにあります。これが問題なのかどうかはわかりません。

+0

それは何か、今すぐそれを確認する必要があります) – shabunc

+0

それをテストし、これは私が探しているものです。アドバイスありがとうございます。 – shabunc

2

は、その名前がある:ようApache ANT

ANTはを作成し、あなたのためのほぼすべての仕事をすることができるツールです。ファイルの連結、ストリッピング、ファイル/フォルダーの読み込み、ミニフィッシングなど。指示は.xmlファイルで行われますが、多くのジョブは既に存在しますが、あなた自身の仕事を書くことができます。

こうすれば、完全なスタティックビルドプロセスを持つことができます。個人的に私はそれを重大なベースで使用しています。例を見てください:https://github.com/jAndreas/typeof-NaN-2.0/tree/master/build

私はJavaScriptの依存関係を記述した方法で解決していませんが、スタイルシートの依存関係があります(@import行が実際のファイルに置き換えられます)。したがって、javascriptファイルで同じことを行うのはかなり簡単な作業です。また、ビルドスクリプトの最後のステップは、新しく生成されたファイルをApacheウェブサイトディレクトリにコピーすることです。実際には1つの静的ビルドプロセスが完了しています。

ファイルサイズを怖がらずに、HTML5ボイラープレートの既存の設定ファイルを変更しました。実際にそのファイルを10%のサイズに縮小して、すべてのオプションのビルドを削除することができました。

+0

@limelights:私は同意するだろうが、OPはそれを明白に排除した。 – jAndy

+0

@jAndy、この回答に感謝します。 jsをビルドするためにantを使用する簡単ですぐに使える方法を想像することはほとんどありません。あなたが提供したリンクは私を断ることはありません))) – shabunc

+0

申し訳ありません、コメントは削除されました! :) –

関連する問題