11

私は Figwheel で遊んでいて、サーバー側のインテリジェンスを必要としない単純な単一ページのアプリを書いています。

原則として、このアプリ。任意の静的 Web サーバーに配置できます。

しかし、実際にデプロイするにはどうすればよいでしょうか。Figwheel 開発環境にある main.js が figwheel 接続をセットアップしているようです。

実際に静的サーバーに配置する必要があるのは、どの js ファイルと html ファイルですか? Figwheel はそれらを作成しましたか、それとも新しい main.js と index.html を作成する必要がありますか? そして、どこで例を見つけることができますか?

ドキュメントは、Figwheel の使用を開始する方法については優れていますが、開発が終了した後に何をすべきかについては驚くほど控えめです。

4

2 に答える 2

9

ステップ 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 ディレクトリ内のすべてのものだけです。したがって、非常によく似たスクリプトを任意の展開ターゲットで使用できます。

于 2016-06-07T17:42:40.167 に答える