ตัวแปรสภาพแวดล้อม: $env/static และ $env/dynamic
เข้าถึงตัวแปรสภาพแวดล้อมอย่างปลอดภัยทั้งบนเซิร์ฟเวอร์และไคลเอ็นต์ใน SvelteKit
ตัวแปรสภาพแวดล้อม: $env/static และ $env/dynamic เป็นบทเรียน Sveltejs Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Sveltejs Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน
API ตัวแปรสภาพแวดล้อมของ SvelteKit
SvelteKit เปิดให้เข้าถึงตัวแปรสภาพแวดล้อมผ่านสี่โมดูล ได้แก่ static/private, static/public, dynamic/private และ dynamic/public
แบบคงที่และเป็นส่วนตัว
อ่านค่าในเวลาสร้าง และใช้ได้เฉพาะบนเซิร์ฟเวอร์ จะถูกตัดออกจากชุดไฟล์ของไคลเอ็นต์
import { DB_URL } from "$env/static/private";แบบคงที่และสาธารณะ
อ่านค่าในเวลาสร้าง ต้องขึ้นต้นด้วย PUBLIC_ และจะถูกรวมไว้ในชุดไฟล์ของไคลเอ็นต์
import { PUBLIC_API_URL } from "$env/static/public";แบบไดนามิกและเป็นส่วนตัว
อ่านค่าในขณะทำงานบนเซิร์ฟเวอร์ เหมาะสำหรับการเปลี่ยนการกำหนดค่าโดยไม่ต้องสร้างแอปใหม่
import { env } from "$env/dynamic/private";
console.log(env.SECRET);แบบไดนามิกและสาธารณะ
อ่านค่าในขณะทำงานและใช้ได้ทั้งบนไคลเอ็นต์และเซิร์ฟเวอร์ ต้องขึ้นต้นด้วย PUBLIC_
เลือกแบบที่เหมาะสม
ใช้แบบคงที่เมื่อค่าไม่เปลี่ยนขณะทำงาน และใช้แบบไดนามิกเมื่อค่ามีการเปลี่ยนแปลง เช่น สวิตช์ฟีเจอร์
ความลับต้องไม่เป็นสาธารณะ
อย่าขึ้นต้นค่าความลับด้วย PUBLIC_ เพราะค่าดังกล่าวจะรั่วไหลไปยังชุดไฟล์ของไคลเอ็นต์
ไฟล์สภาพแวดล้อม
เก็บค่าไว้ใน .env (ซึ่งไม่ติดตามโดย Git) และ .env.example (ซึ่งส่งเข้าคลังโค้ด)
ความปลอดภัยของชนิดข้อมูล
ตัวแปรแบบคงที่จะมีชนิดข้อมูลโดยอัตโนมัติ ส่วนตัวแปรแบบไดนามิกจะกำหนดชนิดผ่าน Record
Vercel และ Cloudflare
แต่ละแพลตฟอร์มมีหน้าจัดการตัวแปรสภาพแวดล้อมของตนเอง ควรซิงค์ค่าระหว่างสภาพแวดล้อมต่าง ๆ อย่างรอบคอบ
การทดสอบ
จำลองโมดูลสภาพแวดล้อมในการทดสอบ หากโค้ดของคุณต้องพึ่งพาโมดูลเหล่านี้
ตรวจสอบอย่างรวดเร็ว
ตัวแปรสภาพแวดล้อมสาธารณะต้องใช้คำนำหน้าอะไร
สรุป
ใช้ $env/static/private สำหรับค่าความลับ และใช้ตัวแปรที่ขึ้นต้นด้วย PUBLIC_ สำหรับค่าที่ปลอดภัยต่อไคลเอ็นต์ เลือกแบบคงที่หรือแบบไดนามิกตามความต้องการ
คำถามที่พบบ่อย
บทเรียน “ตัวแปรสภาพแวดล้อม: $env/static และ $env/dynamic” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ตัวแปรสภาพแวดล้อม: $env/static และ $env/dynamic” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Sveltejs Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ตัวแปรสภาพแวดล้อม: $env/static และ $env/dynamic”
เข้าถึงตัวแปรสภาพแวดล้อมอย่างปลอดภัยทั้งบนเซิร์ฟเวอร์และไคลเอ็นต์ใน SvelteKit คุณปฏิบัติ Sveltejs Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Sveltejs Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Sveltejs Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ตัวแปรสภาพแวดล้อม: $env/static และ $env/dynamic” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Sveltejs Academy นี้ได้ไหม
ได้ บทเรียน Sveltejs Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การป้องกัน CSRF ในแอ็กชันแบบฟอร์ม
- การป้องกัน XSS ใน {#html}
- ตัวแปรสภาพแวดล้อม: $env/static และ $env/dynamic
- การจำกัดอัตราด้วย Hooks