2013-08-20 4 views
1

J'essaie d'utiliser Breeze avec: TypeScript, modules AMD, requirejs, knockout. En regardant le code Breeze, je peux voir qu'il nécessite knock-out via le nom "ko". Cependant, il existe d'autres composants qui nécessitent knock-out via le nom "knockout". Donc, si je crée une configuration pour requirejs avec le chemin "knockout", le chargeur se plaindra que "ko" n'a pas encore été chargé. Si je change manuellement le code de Breeze, remplacer "ko" par "knockout" n'importe quoi fonctionne bien. Que peut-on faire, donc il n'est pas nécessaire de changer le code Breeze?Chargement Breeze via AMD

Répondre

5

Vous pouvez utiliser le map config pour remapper toute demande que brise fait 'ko' à 'knockout'. Quelque chose comme ceci:

require.config({ 
    // 
    // your other config (e.g. paths) 
    // 

    // remap requests for 'ko' 
    map: { 
     'breeze': { 
      'ko': 'knockout' 
     } 
    } 
}); 

Ou si vous voulez mapper ces demandes de 'ko' de tous modules, vous pouvez utiliser * caractères génériques:

map: { 
    '*': { 
     'ko': 'knockout' 
    } 
} 
+0

Merci beaucoup. La carte config était un bon indice. J'ai dû modifier le code juste un peu: en utilisant "breeze" car l'ID ne fonctionnait pas, mais "*" l'a fait. – mgs

+0

@mgs merci, ajouté cela à la réponse pour le rendre plus facile pour les autres qui peuvent le voir. – explunit

Questions connexes