
OpenNext는 Next.js 빌드 출력을 가져 와서 다양한 환경에 배치 할 수있는 패키지로 변환합니다. 기본적으로 OpenNext는 AWS Lambda 및 Classic Node.js 서버를 지원합니다.
OpenNext는 모든 Next.js 14 기능을 지원하는 것을 목표로합니다. 일부 기능은 진행중인 작업입니다. 문제가 발생하는 경우 새 문제를 열기 전에 먼저 문서를 확인하거나 불일치를 방문하여 우리에게 알려주십시오!
Gymshark UK, Udacity, Tudn, NHS England
개인화를 위해서는 next.config.js 와 같은 장소에서 open-next.config.ts 를 작성하고 OpenNextConfig 인터페이스를 만족하는 기본 오브젝트를 내보내야합니다. Open-next.config.ts 파일이 없을 수 있으며 기본 구성이 자동으로 적용됩니다.
OpenNext는 빌드 전에 환경 변수 OPEN_NEXT_DEBUG=true 설정하여 디버그 모드에서 실행할 수 있습니다.
이것은 콘솔에 많은 추가 로그를 출력합니다. 또한 Esbuild의 미화를 비활성화하고 출력에 소스 맵을 추가합니다. 이로 인해 프로덕션 빌드보다 최대 2-3 배 더 클 수있는 코드가 발생할 수 있습니다. 생산에서 이것을 활성화 하지 마십시오 .
문서의 구성에 대한 자세한 내용을 읽을 수 있습니다.
표준 NPM 릴리스 외에도 분기 푸시에 PRERELEASE 패키지를 자동으로 게시합니다 ( pkg.pr.new 사용) :
https://pkg.pr.new/@opennextjs/aws@main : main 브랜치로 푸시 할 때마다 업데이트 된이 사전 사전에는 가장 최신 (합리적으로) 패키지의 안정적인 버전이 포함되어 있습니다.https://pkg.pr.new/@opennextjs/aws@experimental 모든 experimental 지점으로 푸시 할 때마다 업데이트 된이 사전 사전에는 패키지의 최신 실험 버전이 포함되어 있습니다 (커밋 전에 테스트/실험 할 기능이 포함되어 있음).예를 들어 선택한 패키지 관리자와 직접 설치할 수 있습니다.
npm i https://pkg.pr.new/@opennextjs/aws@main 로컬에서 OpenNext 실행하려면 :
이 저장소를 복제하십시오.
open-next 빌드 :
cd packages/open-next
pnpm build 시계 모드에서 open-next 실행 :
pnpm dev 이제 open-next 변경하고 다음.js 앱을 빌드하여 변경 사항을 테스트 할 수 있습니다.
cd path/to/my/nextjs/app
path/to/opennextjs-aws/packages/open-next/dist/index.js buildOpenNext는 콜드 스타트를 줄이는 데 사용할 수있는 따뜻한 기능을 제공합니다.
Lambda에는 따뜻한 인스턴스가 있어도 Lambda가 콜드 스타트를 트리거하는 여러 시나리오가 있습니다. 예를 들어 따뜻한 인스턴스보다 더 많은 요청이 있으면 콜드 스타트가 나타납니다. 또한 다음 JS LAZY로드 경로를로드하므로 따뜻한 인스턴스에 도달 하더라도이 특정 경로는 아직로드되지 않았을 수 있습니다.
OpenNext에 영감을 준 프로젝트와 커뮤니티가 개발 한 놀라운 도구 및 도서관에 감사드립니다.
프로젝트에 대한 뛰어난 기여를 위해 @khuezy 및 @conico974에 특별한 소리를냅니다.
SST에 의해 유지됩니다. 우리 커뮤니티에 가입하십시오 : 불화 | YouTube | 지저귀다