ค้นหาเว็บไซต์

typescript - การนำเข้าแค่ประเภท


ด้วย Firebase Admin API คุณจะได้รับการพิมพ์จาก @google-cloud/[namespace] โดยที่ namespace อาจเป็น firestore, messaging, database เป็นต้น

ใช้ firestore เป็นตัวอย่าง สิ่งที่ฉันอยากทำคือการนำเข้า เฉพาะ คำจำกัดความประเภท อย่างไรก็ตามถ้าฉันเพิ่ม @google-cloud/firestore เป็นการพึ่งพา ฉันจะได้ทุกอย่าง (โค้ดและไทป์)

ฉันพิจารณาสิ่งต่อไปนี้:

  • การเพิ่ม dependency เป็น devDependencies เพื่อให้ฉันสามารถใช้ types ได้ แต่ผู้ใช้ไลบรารีของฉันจะไม่ได้รับโค้ดที่ไม่ได้ใช้งาน

  • ฉันก็พิจารณาที่จะเก็บไว้เป็น dependency แต่ฉันไม่แน่ใจว่าจะนำเข้าคำจำกัดความของอินเทอร์เฟซอย่างไร ฉันลองนำเข้าแบบด้านล่างแต่ก็ไม่ได้ผล:

    import firestore จาก '@google-cloud/firestore/types';

ฉันตื่นเต้นมากที่จะหาวิธีใดวิธีหนึ่ง -- นอกเหนือจากการตัดและวาง -- เพื่อที่จะนำเข้าการกำหนดประเภทของ Admin API

หมายเหตุ: สิ่งนี้ค่อนข้างง่ายด้วยการพิมพ์ API ฝั่งลูกค้า และสุดท้ายสิ่งที่ฉันต้องการทำคือสร้างอินเทอร์เฟซที่อนุญาตให้ไลบรารีเขียนโค้ดที่มีการพิมพ์ซึ่งสามารถโต้ตอบกับทั้งไลบรารีฝั่งลูกค้าและแอดมินได้