6

की संपत्ति 'fn' नहीं पढ़ सकता है, मैं अपनी कंपनी प्रोजेक्ट के लिए jquery, backbonejs, underscorejs और बूटस्ट्रैप का उपयोग कर रहा हूं। कभी-कभी मुझे क्रोम में यह त्रुटि मिली।बूटस्ट्रैप - अनकॉटेड टाइपरर: अपरिभाषित

Uncaught TypeError: Cannot read property 'fn' of undefined

मेरे शिम मेरी main.js

require.config({ 
paths: { 
    jquery: 'libs/jquery/jquery', 
    underscore: 'libs/underscore/underscore', 
    backbone: 'libs/backbone/backbone', 
    backboneeventbinder: 'libs/backbone.eventbinder.min', 
    bootstrap: 'libs/bootstrap', 
    jquerytablesorter: 'libs/tablesorter/jquery.tablesorter', 
    tablesorter: 'libs/tablesorter/tables', 
    ajaxupload: 'libs/ajax-upload', 
    templates: '../templates' 
}, 
shim: { 
    'backbone': { 
     deps: ['underscore', 'jquery'], 
     exports: 'Backbone' 
    }, 
    'underscore': { 
     exports: '_' 
    }, 
} 
}); 
require(['app', ], function(App) { 
    App.initialize(); 
}); 

मैं पहले से ही jQuery, underscorejs और backbonejs के लिए .noConflict() सम्मिलित में इस तरह है।

मेरी क्रोम enter image description here

इसके bootstrap से संबंधित तरह से मेरे app.js

// Filename: app.js 
define(['jquery', 'underscore', 'backbone', 'backboneeventbinder', 'bootstrap', 'ajaxupload', 'router', // Request router.js 
], function($, _, Backbone, Bootstrap, Backboneeventbinder, Ajaxupload, Router) { 
    $.noConflict(); 
    _.noConflict(); 
    Backbone.noConflict(); 
    var initialize = function() { 
      Router.initialize(); 
     }; 
    return { 
     initialize: initialize 
    }; 
}); 

यह स्क्रीनशॉट है।

बहुत पहले से धन्यवाद।

+0

'नो कॉन्फ्लिक्ट' का उपयोग कैसे करें? –

+0

यह [उत्तर] (http://stackoverflow.com/a/11184070/122005) शायद उपयोगी हो सकता है – chridam

उत्तर

19

मुझे बूटस्ट्रैप से पहले jquery लोड करने की आवश्यकता है।

require.config({ 
    paths: { 
     jquery: 'libs/jquery/jquery', 
     underscore: 'libs/underscore/underscore', 
     backbone: 'libs/backbone/backbone', 
     bootstrap: 'libs/bootstrap', 
     jquerytablesorter: 'libs/tablesorter/jquery.tablesorter', 
     tablesorter: 'libs/tablesorter/tables', 
     ajaxupload: 'libs/ajax-upload', 
     templates: '../templates' 
    }, 
    shim: { 
     'backbone': { 
      deps: ['underscore', 'jquery'], 
      exports: 'Backbone' 
     }, 
     'jquery': { 
      exports: '$' 
     }, 
     'bootstrap': { 
      deps: ['jquery'], 
      exports: '$' 
     }, 
     'jquerytablesorter': { 
      deps: ['jquery'], 
      exports: '$' 
     }, 
     'tablesorter': { 
      deps: ['jquery'], 
      exports: '$' 
     }, 
     'ajaxupload': { 
      deps: ['jquery'], 
      exports: '$' 
     }, 
     'underscore': { 
      exports: '_' 
     }, 
    } 
}); 
require(['app', ], function(App) { 
    App.initialize(); 
}); 

आकर्षण के साथ फिक्स्ड !!

+0

सच है कि आपको पहले jquery लोड करना होगा: D – Fiido93

0
//Call .noConflict() to restore JQuery reference. 

jQuery.noConflict(); OR $.noConflict(); 

//Do something with jQuery. 

jQuery("div.class").hide(); OR $("div.class").show(); 
+0

आपको निर्दिष्ट करना चाहिए कि 'NoConflict() 'को कॉल करने के लिए कहां होना चाहिए: बस jQuery सहित। http://api.jquery.com/jQuery.noConflict/ – TheBronx

+0

यह काम नहीं करता –

संबंधित मुद्दे