draftMode ใน Next.js

draftMode ใน Next.js เป็นคุณสมบัติที่ใช้ในการสร้างโหมดการพัฒนาหรือโหมดร่างของเว็บไซต์ของคุณ เพื่อทำให้ง่ายต่อการพัฒนาและทดสอบโค้ดของคุณโดยไม่ต้องตรวจสอบสถานะการเผยแพร่ (production) ของเว็บไซต์

ในโหมด draftMode คุณสามารถทำสิ่งต่อไปนี้:

  1. แสดงข้อมูลที่เป็น “ร่าง” หรือ “ไม่เผยแพร่” ในเว็บไซต์ของคุณเพื่อทดสอบก่อนที่จะเผยแพร่ในโหมด production.

  2. ทดสอบฟีเจอร์ใหม่ ๆ หรือการเปลี่ยนแปลงโค้ดโดยไม่มีผลต่อผู้ใช้ของเว็บไซต์จริง.

  3. เปิดใช้งานฟีเจอร์เฉพาะสำหรับทีมพัฒนาหรือผู้ทดสอบโดยไม่ต้องเผยแพร่สู่สาธารณะ.

สามารถเปิดใช้งาน draftMode ใน Next.js ได้โดยการตั้งค่าในไฟล์ next.config.js ของโปรเจ็กต์ Next.js ของคุณ ตามนี้:

1
2
3
4
5
6
7
8
9
// next.config.js

module.exports = {
// ตั้งค่า draftMode เป็น true เพื่อเปิดใช้งานโหมดร่าง
// หรือสามารถใช้ process.env.DRAFT_MODE === 'true' เพื่อควบคุมโหมดผ่าน environment variables
publicRuntimeConfig: {
draftMode: true,
},
};

เมื่อคุณเปิดใช้งาน draftMode คุณสามารถใช้ค่านี้ในโค้ดของคุณในตัวแปร publicRuntimeConfig หรือใช้ process.env.DRAFT_MODE เพื่อตรวจสอบสถานะ draft และทำสิ่งที่คุณต้องการตามความต้องการของคุณ ตัวอย่าง:

1
2
3
4
5
6
7
8
9
10
11
12
13
// ตัวอย่างการใช้งาน draftMode ในโค้ดของ Next.js
import getConfig from 'next/config';

const { publicRuntimeConfig } = getConfig();
const isDraftMode = publicRuntimeConfig.draftMode || process.env.DRAFT_MODE === 'true';

if (isDraftMode) {
// ทำสิ่งที่คุณต้องการในโหมด draft ที่เปิดใช้งาน
// เช่น แสดงข้อมูลร่างหรือฟีเจอร์เฉพาะในโหมดนี้
} else {
// ทำสิ่งที่คุณต้องการในโหมด production
// เช่น แสดงข้อมูลจริง ๆ สำหรับผู้ใช้
}

ด้วยการใช้ draftMode ใน Next.js คุณสามารถควบคุมการแสดงผลและการพัฒนาของเว็บไซต์ของคุณในโหมดร่างและโหมด production อย่างยืดหยุ่นและควบคุมได้อย่างสะดวกและปลอดภัย.