Vercel へのデプロイは非常に簡単ですが、デプロイ中に考慮する必要があるセットアップがいくつかあることを理解してください。
NestJS アプリをデプロイする準備ができていることを考慮して、Supabase のセットアップから始めましょう。
Supabase は、PostgreSQL データベースの完全なサポートとシームレスな構成を備えたオープンソースの Firebase の代替品であり、認証やストレージなどの追加機能も提供します。
Supabase に新しいアカウントを設定し、そのアカウント内に新しいプロジェクトを作成します。
セットアップが完了したら、ホームページの接続ボタンをクリックします。これにより、DB をプロジェクトに接続するためのさまざまなオプションが表示されます
提供された認証情報を使用してローカルで接続をテストし、すべてが完全に正常に動作していることを確認します。
注: 資格情報が公開されず、.env ファイルに保存されていないことを確認してください (これについてはすでにご存知だと思います?)
次に、Vercel アカウントを設定してプロジェクトをデプロイしましょう
通常、Vercel は主にフロントエンド アプリのデプロイに使用されることが知られていますが、バックエンド プロジェクトのデプロイにも使用できます。
追記: バックエンド展開の中規模から大規模なプロジェクトに取り組んでいる場合は、代わりに適切なサービス プロバイダーを使用してください。
Vercel アカウントで新しいプロジェクトを作成し、Git リポジトリに接続します。 .env ファイルをインポートし、Deploy ボタンをクリックします。
ほら、それだけです ???.
...
Vercel はビルド プロセス中に出力ディレクトリを認識する必要があるため、これは一般的なエラーです。これを修正するには、versel.json ファイルを追加し、これをコピーするだけです:
{ "version": 2, "builds": [ { "src": "src/main.ts", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "src/main.ts", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"] } ] }
デプロイメントを再度実行すると完了です
...
私の場合、モジュールが見つからないエラーが原因でした
...
この問題を解決するにはいくつかの方法があります:
から
import { UsersService } from 'src/users/users.service';
に
import { UsersService } from '../users/users.service';
...
相対パスのインポートのみを使用するようにアプリを制限する必要がなかったため、最終的にこの方法を採用しました。
それでは、vercel.json を次のように変更します
{ "version": 2, "builds": [ { "src": "dist/main.js", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "dist/main.js", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"] } ] }
.gitignore ファイルに移動し、/dist.
を削除します。新しいデプロイメントを実行するだけです。
コーディングを楽しんでください! ?
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3