サーバーにフラッターウェブをデプロイする方法は?



How Deploy Flutter Web Server



解決:

[アップデート]

今すぐWebの本番ビルドを作成するには、Flutterがサポートします他のプラットフォーム(androidおよびios)と同様のflutter build webコマンドを使用すると、次のように表示されます。



ビルド/ウェブ

主にソースファイルで生成されたフォルダindex.html、main.dart.jsとassetsフォルダーを使用すると、サーバーにデプロイするだけで済みます。



[古い回答ステップ1および2は不要になりました]

を使用して本番ビルドを実行する必要がありますwebdevツール。インストールするwebdevにはパブツールが必要です。

  1. だからあなたがダーツを持っている場所に行きますSDKがインストールされ、binフォルダー内にpubバッチファイルが必要です。 cmdからpubを使用するには、環境変数へのbinフォルダーのパスを指定する必要があります。



  2. ここでcmdを開き、以下のコマンドを押してインストールしますwebdev

    pubグローバルアクティベートwebdev

    // intelliJIdeaターミナルで

  3. 次に、プロジェクトのルートフォルダーに移動し、リリースモードでビルドを実行します

    フラッタービルドウェブ

  4. ビルドフォルダが表示されます(/ build / web)をルートディレクトリに置き、そのフォルダをコピーしてWebサーバーでホストするだけです。

同じ方法でGitHubページにデプロイしました。詳細については、こちらをご覧ください。

いくつかの便利なリンク:https://dart.dev/tools/webdev#build

これが実行中のflutterwebアプリです


フラッターウェブアプリを共有ホスティングにデプロイできます Nodejs またはで VPS サーバーと Python この中程度のブログ投稿に従ってください

ここに画像の説明を入力してください

'flutter build web'を使用してflutterwebアプリをビルドし、共有ホスティングプランでホストしたい場合は、nodejsアプリをflutterwebアプリのシンプルなサーバーとして準備します。サンプルコードは次のとおりです。

app.js

var express = require( 'express'); var path = require( 'path'); var cookieParser = require( 'cookie-parser'); var logger = require( 'morgan'); var app = express(); app.use(logger( 'dev')); app.use(express.json()); app.use(express.urlencoded({extended:false})); app.use(cookieParser()); app.use(express.static(path.join(__ dirname、 'public-flutter'))); module.exports = app;

package.json

{'name': 'flutter-web-app'、 'version': '0.0.0'、 'private':true、 'scripts':{'start': 'node ./bin/www'}、'dependencies ':{' cookie-parser ':' 〜1.4.4 '、' debug ':' 〜2.6.9 '、' express ':' 〜4.16.1 '、' morgan ':' 〜1.9.1 '}}

フォルダーを作成して名前を付け(public-flutter)、作成したフォルダーにフラッターWebアプリを配置します。これにより、共有ホスティングを使用している場合、nodejsがサーバーを介してフォルダーを提供できるようになります。ここでブログ投稿を続行してください。

また、VPSサーバーを使用している場合、nodejsアプリをサーバーにする場合は、このコマンドを実行します。

ノードapp.js

または、nodejsが必要ない場合は、フラッターWebアプリでPythonを使用して、このコマンドで単純なhttpサーバーとして提供します。

nohup python -m SimpleHTTPServer 8000&

コマンドを実行するときは、Webアプリフォルダーにいることを確認してください。 LinuxでSSHセッションを閉じても、nohubはコマンドを実行し続けます。または、dhttpdパッケージを使用して、Dart pub / webdevツールを介してアプリをサーバー化することもできます。


アマゾンウェブサーバーにフラッターウェブアプリケーションをデプロイする簡単な方法は次のとおりです。

以下は私が従う簡単なプロセスです。

  1. フラッターウェブを構築する:flutter build web —リリース
  2. aws ec2サーバーでインスタンスを作成します。つまり、サーバー上のウェブサイトにメモリを割り当てます。インスタンスは、AWSクラウドの仮想サーバーです。
  3. パテの助けを借りてあなたのサーバー(インスタンス)に接続します:
  4. サーバーにVestaコントロールパネルをインストールします。 (ベスタが気に入らない場合は、他のコントロールパネルをインストールすることもできます)。
  5. サーバーにコンテンツ(ウェブサイト)をアップロードします(FileZillaを使用すると、サーバーにウェブサイトのコンテンツを簡単にアップロードできます)

これが簡単なビデオチュートリアルです:https://youtu.be/htuHNO9JeRU