typescript - การใช้ typings.d.ts ในไลบรารี Angular โดยไม่ต้องใช้รีเฟอเรนซ์แบบ triple-slash
ภายใน workspace ของ Angular CLI ผมสร้างไลบรารี foo ภายในไลบรารี foo ผมได้เพิ่มไฟล์ typings.d.ts จากนั้นผมสามารถอ้างอิงไปยัง type ที่ถูกกำหนดใน typings.d.ts จาก foo.module.ts โดยใช้คำสั่งสามเส้นของ Typescript ตอนนี้ ผมต้องการที่จะไม่ใช้คำสั่งสามเส้น แต่การลบคำสั่งนี้ทำให้เกิดข้อผิดพลาดดังต่อไปนี้:
error TS2304: Cannot find name 'MyLibrary'.
ฉันค่อนข้างประหลาดใจที่ได้รับข้อผิดพลาดนี้ เพราะว่า typings.d.ts ถูกกำหนดไว้ภายในไดเรกทอรี src และฉันกำลังใช้เวอร์ชันล่าสุดของ Typescript (v3.2.4) ดังนั้นฉันจึงคาดว่าคอมไพเลอร์จะหยิบ typings.d.ts อัตโนมัติ นอกจากนี้ฉันยังลองเพิ่มสิ่งต่อไปนี้ลงใน tsconfig.lib.json:
"include": [
"src/typings.d.ts"
]
ฉันคาดหวังว่าการตั้งค่านี้อย่างน้อยน่าจะมีผล เพราะเอกสารของ ng-packagr ระบุว่าในโปรเจกต์ Angular CLI ไฟล์ tsconfig.lib.json อาจถูกแก้ไขได้
ดังนั้น คำถามเฉพาะของฉันคือดังนี้: เป็นไปได้หรือไม่ที่จะอ้างอิงประเภทจากไฟล์ typings.d.ts ภายในไลบรารี Angular โดยไม่จำเป็นต้องใช้การอ้างอิงแบบสามสแลช? ถ้าไม่ เป็นเพราะอะไร?
กล่องทรายของฉันอยู่ที่นี่
ทรัพยากรที่เกี่ยวข้อง
- angular.io - การกำหนดไทพ์ปิ้งสำหรับไลบรารีระดับรันไทม์-โกลบอล
- ng-packagr - วิธีการเพิ่ม typings แบบกำหนดเองไปยังการสร้างไลบรารี?