Shim Twitter Bootstrap für RequireJS
Die RequireJSdocs Um ältere IE-Versionen zu unterstützen, müssen Sie konfigurierenenforceDefine: true
.
Wenn Sie Internet Explorer unterstützen, Ladefehler abfangen und modularen Code entweder durch direkte define () - Aufrufe oder durch Shim-Konfiguration haben möchten, setzen Sie enforceDefine immer auf true. Ein Beispiel finden Sie im nächsten Abschnitt.
ANMERKUNG: Wenn Sie enforceDefine: true festlegen und data-main = "" zum Laden Ihres Haupt-JS-Moduls verwenden, muss dieses Haupt-JS-Modul define () aufrufen, anstatt require (), um den benötigten Code zu laden. Das Haupt-JS-Modul kann zum Festlegen von Konfigurationswerten weiterhin require / requirejs aufrufen, zum Laden von Modulen sollte es jedoch define () verwenden.
Da Twitter Bootstrap kein AMD-Modul ist, muss ich es shimen, damit es funktioniert. So konfiguriere ich es;
<script type="text/javascript">
var require = {
paths: {
"bootstrap": "../bootstrap",
"jquery": "../jquery-1.8.2"
},
shim: {
"bootstrap": ["jquery"]
},
enforceDefine: true
};
</script>
Später, wenn mein Modul Bootstrap als Abhängigkeit haben möchte, erhalte ich immer noch eine Fehlermeldung.
Error: No define call for bootstrap
http://requirejs.org/docs/errors.html#nodefine
Wenn ich die Dokumente richtig verstanden habe,enforceDefine
sollte Shims ignorieren, ist es aber nicht.
Was mache ich hier falsch?