最も簡単な方法は、縮小された JS を常に使用することです。これは、デバッガーを介して JS を実行したり、わかりやすいバックトレースを取得したりする必要がない限り、うまく機能します。
「ソースマップ」と呼ばれる技術がこの問題を解決します。ソース マップを使用する場合は、いつでも縮小版を使用できます。デバッグが必要な場合、デバッガーは非縮小版をオンデマンドで読み込みます。残念ながら、この記事の執筆時点 (2013 年 3 月) ではソース マップは非常に新しいものであり、この技術にはブラウザーとミニファイアーの両方からのサポートが必要です。
HTML がテンプレートから作成されている場合は、設定をテンプレートに渡して、開発用か製品用かを指定し、それに応じてヘッダー テキストを変更する方がよいでしょう。
上記の解決策のいずれも適切でない場合、問題に対するハックな解決策は、次のように HTML で個別のコメントをマークすることです。
<!-- BEGIN DEVELOPMENT -->
<script src="src/js/file1.js"></script>
<script src="src/js/file2.js"></script>
<script src="src/js/file3.js"></script>
<!-- END DEVELOPMENT -->
<!-- BEGIN PRODUCTION
<script src="dist/js/file.js.min"></script>
END PRODUCTION -->
次に、Ant にいくつかの sed スクリプトを実行させて、開発ステートメントをコメントアウトし、運用ステートメントを追加します。
# run this command to create production version of project.html
cat src/html/project.html \
| sed -e 's/<!-- BEGIN DEVELOPMENT -->/<!-- BEGIN DEVELOPMENT/' \
| sed -e 's/<!-- END DEVELOPMENT -->/ END DEVELOPMENT -->/' \
| sed -e 's/<!-- BEGIN PRODUCTION/<!-- BEGIN PRODUCTION -->/' \
| sed -e 's/ END PRODUCTION -->/<!-- END PRODUCTION -->/' \
> dist/html/project.html
このコマンドをシェル スクリプトに入れ、Ant に execfile でスクリプトを実行させることをお勧めします。ant-contrib などでこの種の置換を行うサードパーティのタスクも存在する可能性がありますが、それらを使用することは、コードをビルドするすべての人にとって苦痛になります。
sed のない非 UNIX ライクなシステム (つまり、Windows) で構築している場合は、gnuwin32 プロジェクトの sed の Windows バージョンを使用できる場合があります。または、Virtualbox VM の Linux でビルドするだけです