คำแนะนำเครื่องมือ Jquery ขัดแย้งกับ Bootstraps ในบริบทของการใช้ RequireJS

นี่เป็นปัญหาที่รู้จักกันดีเกี่ยวกับการอ้างอิง ที่นี่: Jquery และ Bootstrap มีข้อขัดแย้งในการตั้งชื่อสำหรับ tooltip()

วิธีแก้ปัญหาที่หลายคนแนะนำคือใช้ $.widget.bridge ก่อนที่จะโหลด Bootstrap แต่ในกรณีของฉัน ฉันไม่รู้ว่าจะต้องทำอย่างไรโดยใช้สไตล์ needJS:

การนำเข้าสคริปต์ของฉันมีลักษณะดังนี้:

define(['jquery', 'jquery-ui', 'knockout', 'bootsrap'],

person Loredra L    schedule 23.01.2017    source แหล่งที่มา


คำตอบ (1)


นี่เป็นคำถามเก่าที่ยังไม่มีคำตอบ เนื่องจากฉันสะดุดเมื่อฉันประสบปัญหาเดียวกัน ฉันจึงแก้ไขมันได้ดังนี้:

require.config({
  shim: {
    'bootstrap': {
      deps: ['jquery', 'jquery-ui'],
      callback: function($) {
        $.widget.bridge('uitooltip', $.ui.tooltip);
      }
    }
  }
});

กองกำลังนี้ต้องการ JS เพื่อโหลด jQuery UI และใช้บริดจ์ก่อนที่จะโหลดบูตสแตรป

นี่อาจถือเป็นวิธีแก้ปัญหาที่สกปรก อย่างไรก็ตาม เนื่องจากข้อมูลโค้ดนี้จะกำหนดค่าวิธีการโหลดการขึ้นต่อกันที่แตกต่างกันและแก้ไขข้อขัดแย้งระหว่างการขึ้นต่อกันสองรายการ ฉันคิดว่านี่เป็นที่ที่ดีสำหรับบรรทัดโค้ดนั้นในการใช้งาน

person Tekay37    schedule 05.07.2021