Visual Studio Code - ปลั๊กอิน Rollup replace กับ TypeScript ไม่สามารถหาชื่อตัวแปรได้
ฉันกำลังใช้ @rollup/plugin-replace เพื่อใช้ dotenv ใน Svelte.
เมื่อฉันแทนค่าตัวแปรดังนี้,
replace({
preventAssignment: true,
DATABASE_URL: JSON.stringify(process.env.SUPABASE_URL),
})
และใช้ข้างต้นใน main.ts มันไม่สามารถหาตัวแปรได้แต่พิมพ์ได้ดีในคอนโซล
ค่า DATABASE_URL จริงๆ แล้วมีอยู่ มันเป็นแค่ข้อผิดพลาดของ TypeScript เท่านั้น ฉันจะแก้ไขเรื่องนี้ได้อย่างไร?
คำตอบ #1
replace จะทำการค้นหาและแทนที่สตริงอย่างตรงตัว ดังนั้นหากคุณกำหนดการตั้งค่าของคุณแบบ:
replace({
preventAssignment: true,
DATABASE_URL: process.env.SUPABASE_URL,
})
คุณควรจัดการ DATABASE_URL ในโค้ดของคุณเหมือนเป็นค่าหนึ่ง (เช่น ไม่ใช่ตัวแปร) ดังนั้น:
const url = "DATABASE_URL";
connect(url, ...);
