Wie lösen Fehler "Cannot set property 'emulateTransitionEnd' of undefined" in der Bootstrap node.js app?
Ich erstellt Node.js Anwendung von Grund auf neu, und ich habe Hinzugefügt, app.js.
global.jQuery = require('jquery');
Danach gibt er mir eine Fehlermeldung wie folgt:
/home/yojna/web/node_modules/bootstrap/js/transition.js:36
$.fn.emulateTransitionEnd = function (duration) {
^
TypeError: Cannot set property 'emulateTransitionEnd' of undefined
at /home/yojna/web/node_modules/bootstrap/js/transition.js:36:29
at Object.<anonymous>(/home/yojna/web/node_modules/bootstrap/js/transition.js:59:2)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous>
(/home/yojna/web/node_modules/bootstrap/dist/js/npm.js:2:1)
at Module._compile (module.js:456:26)
yojna@yojna-Inspiron-7520:~/web$
Du musst angemeldet sein, um einen Kommentar abzugeben.
NPM ist gemacht für serverseitige Bibliotheken.
Umfassen client-seitigen Bibliotheken wie bootstrap oder jquery, sollte man verwenden Bower statt.
Ich habe dies in ein expressjs-app :
Erstellen .bowerrc-Datei, und schreiben Sie die folgenden Zeilen :
Download von bootstrap und jquery mit Bower :
Definieren Sie anschließend den öffentlichen Ordner, um statische in Ihrem app.js Datei :
Schließlich, fügen Sie das Skript-tag aus Ihrer Sicht (ich bin Jade hier) :
Versuchen erklären dollar-Zeichen-Variablen:
Ich hatte dieses problem, und es war, weil ich aufgenommen hatte, ist der "bootstrap" in meinem Verkäufer webpack 2 config wurde aber mit:
Damit der browser konnte nicht richtig finden, die bootstrap-loader-Paket.
import 'bootstrap';
und hätte es in meiner webpack config.Sollten Sie nicht
require
es. Jquery ist eine Bibliothek, während die client-Seite Node.js ist ein backend-server.Wenn Sie Jquery verwenden möchten, mit Ihrer Node.js app einfach hinzufügen, um Ihre HTML-Dateien mit: