1

テンプレートをコンパイルするために、にdustc付属しているを使用しています。dustjs-linkedinただし、一度に1つのテンプレートしかコンパイルできません。したがって、2つのディレクトリを保持templates/js/templates/、次のスクリプトを使用してそれらを一度にコンパイルします。

#!/bin/bash
for name in `ls templates/ | grep -o -P '^[^.]+'`; do
  dustc --name=$name templates/$name.html js/templates/$name.js
done

ただし、このように、テンプレートは異なるJSファイルにあります。それらはすべて同じパターンです。

(function(){dust.register("xxx",body_0);function body_0(chk,ctx){...}return body_0;})();

これにより、ブラウザによって大量の不要なバイトがダウンロードされる可能性があります。そのため、テンプレートを1つのJSファイルにコンパイルするか、コンパイルされたJSファイルを結合したいと思います。どうすればこれを達成できますか?

4

2 に答える 2

0

Duster.js (自動ダスト ウォッチ & node.js のプリコンパイル) とr.jsを使用して 1 つのファイルに結合できます。

于 2013-07-25T10:35:43.597 に答える
0

正確な問題はわかりませんが、ファイルを結合するだけの場合は、sprockets や require.js のオプティマイザー ツールなどの依存関係マネージャーを使用するとうまくいきます。

同じファイルに取り込まれたときにそれらが同じパターンにあるという事実は何もしません-名前空間を保護するために、それらはすべて匿名の自己実行関数に囲まれています。

一方、重複するパターンを削除してコードを最適化しようとしている場合は、uglifyjs または Google のクロージャー コンパイラを使用して自動的に行うことをお勧めします。

コードを組み合わせて最小化することはまったく問題になりません-うまく機能します:)これが役立つことを願っています

于 2012-11-27T23:44:56.533 に答える