ステップ 1: 本番ビルドを作成します。
lein do clean, cljsbuild once min
ステップ 2: すべてをresources/public
公的にアクセス可能な場所に置きます。
サンプルプロジェクトでこれを行うために使用するスクリプトは次のとおりです:
https://github.com/timothypratley/whip/blob/master/deploy.sh
HTML リソースは、ローカルでの開発と展開の間で変わりません。異なるのは、コンパイルされたアーティファクトだけです。実際、開発用にコンパイルされたアーティファクトも問題なくデプロイできます。「本番ビルド」を実行することをお勧めする唯一の理由は、ローカルで開発する場合、中間 JS ファイルをつなぎ合わせないためです。これは、変更されたコードのみをブラウザーにロードする方が高速であるためです。デプロイの場合は、コンパイル済みのアーティファクトを 1 つ持つ方が適切です。project.clj でビルドを構成する方法に応じて、コンパイルされた単一の JS に高度な最適化を適用することも、単純な最適化のみを適用することもできます。これについては特に心配する必要はありません。具体的にどのような変更があるかを尋ねられたので、説明しているだけです。
HTML ページがまったく変わらないというのは奇妙に聞こえるかもしれません。それについてもう少し説明しましょう。figwheel を実行している場合、HTML ページにはコンパイル済みの JS が含まれています。その JS を開くと、他の JS ファイルがロードされていることがわかります。しかし、figwheel を終了してクリーンな「プロダクション」ビルドを実行すると、すべてのコードが 1 つの JS ファイルに含まれていることがわかります。かなりトリッキーですよね?
その鞭プロジェクトは、あなたが求めている例を提供するはずです。不明な点があればお知らせください。
これは github ページとデプロイメント ターゲットを使用しますが、ここでも必要なのは、どこかにホストされている resources/public ディレクトリ内のすべてのものだけです。したがって、非常によく似たスクリプトを任意の展開ターゲットで使用できます。