サーバーにフラッターウェブをデプロイする方法は?
How Deploy Flutter Web Server
解決:
[アップデート]
今すぐWebの本番ビルドを作成するには、Flutterがサポートします他のプラットフォーム(androidおよびios)と同様のflutter build webコマンドを使用すると、次のように表示されます。
ビルド/ウェブ
主にソースファイルで生成されたフォルダindex.html、main.dart.jsとassetsフォルダーを使用すると、サーバーにデプロイするだけで済みます。
[古い回答ステップ1および2は不要になりました]
を使用して本番ビルドを実行する必要がありますwebdevツール。インストールする
webdevにはパブツールが必要です。
だからあなたがダーツを持っている場所に行きます
SDKがインストールされ、binフォルダー内にpubバッチファイルが必要です。 cmdからpubを使用するには、環境変数へのbinフォルダーのパスを指定する必要があります。
ここでcmdを開き、以下のコマンドを押してインストールします
webdev
pubグローバルアクティベートwebdev
// intelliJIdeaターミナルで
次に、プロジェクトのルートフォルダーに移動し、リリースモードでビルドを実行します
フラッタービルドウェブ
ビルドフォルダが表示されます(
/ 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ツールを介してアプリをサーバー化することもできます。
アマゾンウェブサーバーにフラッターウェブアプリケーションをデプロイする簡単な方法は次のとおりです。
以下は私が従う簡単なプロセスです。
- フラッターウェブを構築する:
flutter build web —リリース
- aws ec2サーバーでインスタンスを作成します。つまり、サーバー上のウェブサイトにメモリを割り当てます。インスタンスは、AWSクラウドの仮想サーバーです。
- パテの助けを借りてあなたのサーバー(インスタンス)に接続します:
- サーバーにVestaコントロールパネルをインストールします。 (ベスタが気に入らない場合は、他のコントロールパネルをインストールすることもできます)。
- サーバーにコンテンツ(ウェブサイト)をアップロードします(FileZillaを使用すると、サーバーにウェブサイトのコンテンツを簡単にアップロードできます)
これが簡単なビデオチュートリアルです:https://youtu.be/htuHNO9JeRU