2017-02-03 6 views
1

Wie konfiguriere ich den externen Bereich in der Webpack-Konfiguration, um jqueryui und bootstrap von der Ausgabe auszuschließen?webpack externals jqueryui und bootstrap

webpack Konfiguration:

externals: { 
    'jquery': 'jQuery', 
    'jqueryui': 'jqueryui', 
    'bootstrap': 'bootstrap' 
} 

Typoskript Code:

import 'jquery'; 
import 'jqueryui'; 
import 'bootstrap'; 

Typdefinitionen aller 3 sind oben in der @ types/Ordner. jQuery funktioniert gut, aber die anderen beiden funktionieren nicht. Zur Laufzeit wurden die letzten beiden nicht gefunden, obwohl alle 3 mit Script-Tags in die .html-Datei importiert wurden. Die jquery webpack Konfiguration ist mir klar. jquery ist der Name der Bibliothek. jQuery ist der Name der globalen Variablen. Was mich verwirrt, ist, wie man die "lib: global-var" -Syntax für jqueryui und bootstrap funktioniert, da keiner von ihnen eine globale Variable hat.

Antwort

0

Falls es jemand hilft, hier ist, wie ich es nach der Suche im Internet für zwei Tage Arbeit gemacht:

externals: { 
    ... 
    'jqueryui': true, 
    'bootstrap': true 
} 
+0

sehr enttäuscht in der webpack-Dokumentation. – workerbee

0

Der „: true“ Methode funktioniert eigentlich nicht. Ich habe 'jqueryui nicht gefunden' Fehler. Ich habe dann folgendes versucht:

externals { 
    ... 
    'jqueryui': 'jQuery', 
    'bootstrap': 'jQuery' 
} 

Dann hat es funktioniert. Diese beiden Bibliotheken erweitern $. Dies funktioniert, aber ich denke nicht in einer beabsichtigten Weise, da __webpack_require_ nicht versuchen würde sicherzustellen, dass sie existieren. Es hängt nur von der Existenz von jQuery ab. Dies erfüllt jedoch TypeScript und den Webpack-Bündelungsprozess.