Shim Twitter Bootstrap dla RequireJS

RequireJSdocs powiedzmy, że do obsługi starszych wersji IE, musisz skonfigurowaćenforceDefine: true.

Jeśli więc chcesz obsługiwać Internet Explorer, przechwytywaj błędy ładowania i masz kod modułowy albo poprzez wywołania direct define (), albo shim config, zawsze ustaw executeDefine na wartość true. Przykład znajduje się w następnej sekcji.

UWAGA: Jeśli ustawisz enforceDefine: true i użyjesz data-main = "", aby załadować główny moduł JS, to ten główny moduł JS musi wywołać define () zamiast require (), aby załadować potrzebny kod. Główny moduł JS może nadal wywoływać require / requirejs, aby ustawić wartości konfiguracyjne, ale do ładowania modułów powinien użyć define ().

Ponieważ Twitter Bootstrap nie jest modułem AMD, muszę go przesunąć, aby działał. Tak to konfiguruję;

<script type="text/javascript">
    var require = {
        paths: {
            "bootstrap": "../bootstrap",
            "jquery": "../jquery-1.8.2"
        },
        shim: {
            "bootstrap": ["jquery"]
        },
        enforceDefine: true
    };
</script>

Później, gdy mój moduł chce bootstrap jako zależność, nadal otrzymuję komunikat o błędzie;

Error: No define call for bootstrap

http://requirejs.org/docs/errors.html#nodefine

Jeśli poprawnie zrozumiałem dokumenty,enforceDefinepowinien ignorować podkładki, ale tak nie jest.

Co ja tu robię źle?

questionAnswers(4)

yourAnswerToTheQuestion