
OpenNextはnext.jsビルド出力を取り、さまざまな環境に展開できるパッケージに変換します。 Natively OpenNextは、AWS LambdaとClassic Node.jsサーバーをサポートしています。
OpenNextは、すべてのNext.js 14機能をサポートすることを目指しています。いくつかの機能は進行中です。問題が発生している場合は、新しい問題を開く前に最初にドキュメントを確認するか、私たちの不一致にアクセスしてお知らせください!
Gymshark UK、Udacity、Tudn、NHSイングランド
パーソナライズのために、 next.config.jsと同じ場所でファイルをopen-next.config.ts作成し、 OpenNextConfigインターフェイスを満たすデフォルトオブジェクトをエクスポートする必要があります。 Open-next.config.tsファイルを持たないことが可能です。デフォルトの構成は自動的に適用されます。
OpenNextは、ビルド前に環境変数OPEN_NEXT_DEBUG=trueを設定することにより、デバッグモードで実行できます。
これにより、多くの追加ログがコンソールに出力されます。これにより、Esbuildでのミニライブも無効になり、出力にソースマップを追加します。これにより、生産ビルドよりも最大2〜3倍大きいコードが発生する可能性があります。これを生産で有効にしないでください。
ドキュメントの構成の詳細を読むことができます
標準のNPMリリースに加えて、Branch Pushes( pkg.pr.newを使用)でPrereleaseパッケージを自動的に公開します。
https://pkg.pr.new/@opennextjs/aws@main : mainブランチへのプッシュごとに更新されたこのプレレレは、パッケージの最新の(合理的に)安定したバージョンが含まれています。https://pkg.pr.new/@opennextjs/aws@experimental experimentalブランチへのプッシュごとに更新されたこのプレレレは、最新の実験バージョンのパッケージを含んでいます(コミットする前にテスト/実験する機能が含まれています)。たとえば、選択したパッケージマネージャーに直接インストールできます。
npm i https://pkg.pr.new/@opennextjs/aws@mainOpenNextローカルに実行するには:
このリポジトリをクローンします。
open-nextをビルド:
cd packages/open-next
pnpm buildウォッチモードでopen-nextを実行します:
pnpm devこれで、 open-nextで変更を加えて、Next.jsアプリを作成して変更をテストできます。
cd path/to/my/nextjs/app
path/to/opennextjs-aws/packages/open-next/dist/index.js buildOpenNextは、コールドスタートを減らすために使用できる暖かい機能を提供します。
Lambdaには、温かいインスタンスがある場合でも、Lambdaがコールドスタートをトリガーする複数のシナリオがあります。たとえば、暖かいインスタンスよりも多くのリクエストがある場合は、コールドスタートが届きます。また、nextjsはルートを怠けているので、たとえ温かいインスタンスにヒットしても、この特定のルートはまだロードされていない可能性があります。
OpenNextにインスピレーションを与えたプロジェクトと、コミュニティが開発した驚くべきツールと図書館に感謝しています。
プロジェクトへの顕著な貢献について、@khuezyと @conico974への特別な叫び。
SSTによって維持されています。私たちのコミュニティに参加:Discord | YouTube |ツイッター