javascript - ฉันจะฝัง/รวมไลบรารีของบุคคลที่สามใน Angular 6 ได้อย่างไร?
บางไลบรารีไม่ได้รับการสนับสนุนโดย Angular เช่น Clappr, HashWords เป็นต้น ฉันต้องการใช้พวกมันใน Angular ราวกับว่ามันเป็นไลบรารีของ Angular แล้วเราจะทำให้ Angular รองรับไลบรารี/โมดูลภายนอกได้อย่างไร?
คำตอบ #1
เพิ่มไฟล์ไลบรารีในไฟล์ index.html ตัวแปรที่ไลบรารีเปิดเผยสามารถใช้งานในคอมโพเนนต์โดยประกาศแบบนี้ declare var Clappr: any; นอกคลาสคอมโพเนนต์
คำตอบ #2
ถ้าห้องสมุดมีโมดูล ES6 คุณก็สามารถนำเข้าได้เลย
ถ้าไลบรารีเป็นเพียงไฟล์ JS คุณสามารถเพิ่มไฟล์ได้เหมือนกับที่คุณกำลังนำเข้าโดยใช้แท็ก <script> ใน index.html โดยการเพิ่มเส้นทางไฟล์ js ลงในอาร์เรย์ scripts ในไฟล์ angular.json
ถ้ามีชนิดข้อมูล คุณสามารถเพิ่มพวกมันไปยังอาร์เรย์ types ในไฟล์ typescript.json
นี่คือคู่มือในการทำทั้งหมดนั้น
https://nitayneeman.com/posts/how-to-add-third-party-library-in-angular-cli/
ถ้าคุณไม่ชอบการที่ไลบรารีของบุคคลที่สามเป็นตัวแปรแบบทั่วโลก คุณสามารถเปลี่ยนพวกมันให้เป็นแบบสามารถฉีดเข้าไปได้ มันเป็นกระบวนการที่ซับซ้อนกว่า แต่ก็น่าสนใจมาก
นี่คือคู่มือสำหรับสิ่งนั้นด้วย:
https://hackernoon.com/angular-providers-how-to-inject-3rd-party-library-af4a78722864