3

2012 年 4 月にこの質問をしなければならないのはとても悲しいことですが、私はこの問題へのアプローチをほとんど知りません。

だから、JavaScriptファイルを静的にコンパイルし、依存関係を解決するためのツールが必要です。より正確には、次のことができるツールが必要です(それを と呼びましょうsometool):

  • フォルダをスキャンし、すべての*.jsファイルを見つける
  • このファイルを解析し、非常に単純な同期で 100% js 準拠のディレクティブを見つけます。同期とは、 onload ハンドラーを渡すようなものがないことを意味します-それは静的テキストの前処理についてのみです。100% js 準拠とは、js の観点から見たコメントのように見えることを意味します。// @include
  • カスタマイズ可能な構成を使用して、include ディレクティブで使用されるパスを解決します。
  • すべてのインクルードを実際の出力に置き換えて、別のフォルダーに入れます。

ほとんどの人にとって、これはすべて自明のことのように聞こえると思いますが、最近の javascripter は、依存関係の管理について話しているときに、少し異なることを理解しています。たとえば、 require.jsを参照してください。

4

2 に答える 2

3

スプロケットを見てください。JavaScript ファイルをバンドルおよびパックでき、インクルードをサポートします。ただし、いくつかの定型コードを作成する必要がある場合があります。バンドルされているコマンドラインから sprocket を実行できるようにするスクリプトがあるようです。そしてそれはRubyにあります。これが問題かどうかはわかりません。

于 2012-04-26T15:02:25.890 に答える
2

実際には1つの答えがあり、その名前は次のとおりです。Apache ANT

MakeのようなANTは、ほとんどすべての仕事をすることができるツールです。ファイルの連結、ストリッピング、ファイル/フォールドの読み取り、ミニファイなど。指示は.xmlファイルを介して行われ、多くのジョブがすでに存在しますが、もちろん独自のジョブを作成することもできます。

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

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

ファイルサイズを気にしないでください。HTML5ボイラープレートから既存の構成ファイルを変更しました。実際には、そのファイルを10%のサイズに縮小して、オプションのビルドをすべて削除することができました。

于 2012-04-26T14:41:35.197 に答える