
OpenNext ใช้เวลาต่อไปสร้างเอาต์พุตและแปลงเป็นแพ็คเกจที่สามารถปรับใช้ในสภาพแวดล้อมที่หลากหลาย Natively OpenNext มีการสนับสนุน AWS Lambda และเซิร์ฟเวอร์ Classic Node.js
Opennext มีจุดมุ่งหมายเพื่อรองรับคุณสมบัติ Next.js 14 ทั้งหมด คุณสมบัติบางอย่างกำลังดำเนินการอยู่ หากคุณพบปัญหาใด ๆ ตรวจสอบให้แน่ใจว่าได้ตรวจสอบเอกสารก่อนที่จะเปิดปัญหาใหม่หรือเยี่ยมชมความไม่ลงรอยกันของเราเพื่อแจ้งให้เราทราบ!
Gymshark UK, Udacity, Tudn, NHS England
สำหรับการปรับเปลี่ยนส่วนบุคคลคุณต้องสร้างไฟล์ open-next.config.ts ในสถานที่เดียวกับ next.config.js ของคุณและส่งออกวัตถุเริ่มต้นที่เป็นไปตามอินเตอร์เฟส OpenNextConfig เป็นไปได้ที่จะไม่มีไฟล์ open-next.config.ts การกำหนดค่าเริ่มต้นจะถูกนำไปใช้โดยอัตโนมัติ
OpenNext สามารถดำเนินการในโหมดการดีบักโดยการตั้งค่าตัวแปรสภาพแวดล้อม OPEN_NEXT_DEBUG=true ก่อนการสร้างของคุณ
สิ่งนี้จะส่งออกบันทึกเพิ่มเติมจำนวนมากไปยังคอนโซล สิ่งนี้ยังปิดการใช้งาน minifying ใน Esbuild และเพิ่มแผนที่แหล่งที่มาลงในเอาต์พุต ซึ่งอาจส่งผลให้รหัสที่อาจมีขนาดใหญ่กว่าการสร้างการผลิตสูงถึง 2-3x ไม่ เปิดใช้งานสิ่งนี้ในการผลิต
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการกำหนดค่าในเอกสาร
นอกเหนือจากการเปิดตัว 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 และสร้างแอป Next.js ของคุณเพื่อทดสอบการเปลี่ยนแปลง
cd path/to/my/nextjs/app
path/to/opennextjs-aws/packages/open-next/dist/index.js buildOpenNext ให้ฟังก์ชั่นอุ่นที่สามารถใช้เพื่อลดการเริ่มต้นเย็น
ในแลมบ์ดามีหลายสถานการณ์ที่แลมบ์ดาจะเริ่มต้นความเย็นแม้ว่าคุณจะมีอินสแตนซ์ที่อบอุ่น ตัวอย่างเช่นหากคุณมีคำขอมากกว่าอินสแตนซ์ที่อบอุ่นคุณจะเริ่มต้นเย็น นอกจากนี้ Nextjs Lazy Load เส้นทางดังนั้นแม้ว่าคุณจะกดอินสแตนซ์ที่อบอุ่นเส้นทางเฉพาะนี้อาจยังไม่ได้รับการโหลด
เราขอขอบคุณสำหรับโครงการที่เป็นแรงบันดาลใจให้ OpenNext และเครื่องมือและห้องสมุดที่น่าทึ่งที่พัฒนาโดยชุมชน:
ตะโกนพิเศษไปที่ @KHUEZY และ @conico974 สำหรับการมีส่วนร่วมที่โดดเด่นของพวกเขาในโครงการ
ดูแลโดย SST เข้าร่วมชุมชนของเรา: Discord | YouTube | Twitter