0

私は、JSアセットを取得し、縮小および連結されたバージョンを1つのスクリプトファイルにビルドするPHPクラスに取り組んでいます。このファイルには、すべてのアセットが本番環境で使用できる状態になっています。私の唯一の懸念は、それが何かを壊すかもしれないということです。たとえば、ビルドが必要な後にファイルを連結する場合(たとえば、jQueryプラグインの後のjQueryコア)。私はそれを可能な限り自動化するつもりです(私はscriptsディレクトリを読むことを考えていました)が、これはいくつかの問題を引き起こす可能性があります。

私はBuildrも見ましたが、それも素晴らしい解決策のようです。それは同じことをし、ディレクトリ内にあるすべてのものを構築しますが、おそらく同じ問題がありますか?

これに対する解決策はありますか?どういうわけかこれのためにJSコードをラップするようなものですか?

4

2 に答える 2

1

連結順序が気になるのはなぜですか?実際 (jQuery など) がファイル内で適切に定義されている場合、それらが連結される順序は問題ではありません (それらが 1 つのファイルを構成すると仮定します)。これは、Javascript を使用すると、現在のファイルでインタープリターがまだ評価されていないコードを実行できるためです。むしろ、未解決のシンボルは、呼び出されたときにグローバル オブジェクトで検索されます (おそらく、コードが解析された後に発生します)。

次の点を考慮してください。

何かをする();

関数 dosomething(){
 console.log('yup');
}

dosomething はそれを呼び出す前に評価されていませんが、インタプリタはそれを見ることができます。

于 2012-05-10T21:29:12.780 に答える
0

必要なのは依存関係の管理です。可能性の 1 つは、Google Closure Compilerを使用することです。スクリプトを圧縮すると、依存関係の検出が提供されます (これを参照してください)。ただし、適切に機能させるには、ライブラリを使用する必要があります。これは、適切なサイズのプロジェクトで作業していて、まだ使用していない場合に面倒です。

于 2012-05-10T21:31:04.337 に答える