Le RequireJS docs disent que, pour prendre en charge les anciennes versions d'IE, vous devez configurer enforceDefine: true
.
Donc, si vous voulez en charge d'Internet Explorer, de capture des erreurs de chargement, et ont code modulaire, soit directement define() appels ou cale de config, toujours ensemble enforceDefine pour être vrai. Voir la section suivante pour un exemple.
REMARQUE: Si vous ne définissez enforceDefine: c'est vrai, et que vous utilisez des données-main="" pour charger vos principales JS module, alors que les principaux JS module doit appeler define() au lieu de require() pour charger le code dont il a besoin. Le principal JS module peut encore appeler exiger/requirejs pour définir config valeurs, mais pour le chargement des modules, il doit utiliser define().
Depuis Twitter Bootstrap n'est pas un AMD module, j'ai besoin de cale pour qu'il fonctionne. C'est de cette façon que je le configure;
<script type="text/javascript">
var require = {
paths: {
"bootstrap": "../bootstrap",
"jquery": "../jquery-1.8.2"
},
shim: {
"bootstrap": ["jquery"]
},
enforceDefine: true
};
</script>
Plus tard, quand mon module veut bootstrap comme une dépendance, j'ai toujours un message d'erreur;
Error: No define call for bootstrap
http://requirejs.org/docs/errors.html#nodefine
Si j'ai bien compris la doc correctement, enforceDefine
doit ignorer les cales, mais il ne l'est pas.
Ce que je fais mal ici?