Bootstrap – Uncaught TypeError: kan eigenschap ‘fn’ van undefined niet lezen

Ik gebruik jQuery, backbonejs, underscorejs en bootstrap voor mijn bedrijfsproject. Soms kreeg ik deze fout in chrome.

Uncaught TypeError: kan eigenschap ‘fn’ van undefined niet lezen

Mijn shim is zo in mijn 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();
});

Ik heb al .noConflict() ingevoegd voor jQuery, underscorejs en backbonejs.

Mijn 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
    };
});

Dit is een screenshot van mijn chrome
voer hier de afbeeldingsbeschrijving in

Het lijkt een beetje op bootstrap.

Bij voorbaat hartelijk dank.


Antwoord 1, autoriteit 100%

Je moet eerst jQuery laden voor bootstrap.

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();
});

Werkt als een tierelier! snelle en gemakkelijke reparatie.


Antwoord 2, autoriteit 6%

los dit probleem op voor hoekige

"styles": [
              "src/styles.css",
              "node_modules/bootstrap/dist/css/bootstrap.min.css"
            ],
            "scripts": [
              "node_modules/jquery/dist/jquery.min.js",
              "node_modules/bootstrap/dist/js/bootstrap.min.js"
            ]

Antwoord 3, autoriteit 6%

Mijn manier is om de jQuery-bibliotheek te importeren.

<script
  src="https://code.jquery.com/jquery-3.3.1.js"
  integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
  crossorigin="anonymous"></script>

Antwoord 4, autoriteit 3%

Om dit probleem op te lossen, roept u gewoon jQuery-bestand op vóór het bootstrap-bestand


Antwoord 5, autoriteit 2%

//Call .noConflict() to restore JQuery reference.
jQuery.noConflict(); OR  $.noConflict();
//Do something with jQuery.
jQuery( "div.class" ).hide(); OR $( "div.class" ).show();

Antwoord 6, autoriteit 2%

Importeer jQuery eerst voor bootstrap:

<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/bootstrap.bundle.js"></script>

Antwoord 7

Ik ging terug naar jquery-2.2.4.min.js en het werkt.


Antwoord 8

Ik had hetzelfde probleem. Firefox liet me deze fout zien, maar in Chrome was alles in orde.
daarna gebruikte ik na een Google-zoekopdracht google cdn voor jQuery in index.html in plaats van het lokale js-bestand te laden en het probleem was opgelost.


Antwoord 9

Ik had hetzelfde probleem. In mijn geval heb ik alle 3 de links gewijzigd in andere versies van bootstrap en ben ik van die fout afgekomen. Ik heb 4.5 veranderd in 4.6 

LEAVE A REPLY

Please enter your comment!
Please enter your name here

thirteen + 10 =

Other episodes