La documentation sur kendo ui et requirejs semble manquer quelque chose.Injecter kendo ui avec requirejs
Ils me disent comment utiliser kendo.web.min qui ont tout inclus:
http://www.kendoui.com/blogs/teamblog/posts/13-05-08/requirejs-fundamentals.aspx
(recherche par mots clés « cale »)
mais je ne suis pas intéressé à ajouter le grand 2MB script kendo.web.min, je veux juste caler le
kendo.grid.min mais ce fichier a une dépendance à kendo.data.min qui a encore une dépendance
à kendo.core.min.
Comment puis-je demander à requirejs de charger aussi kendo.data.min et kendo.core.min avant de charger kendo.grid.min et après que jquery ait été chargé. Je suppose que ce serait le bon ordre.
C'est ce que j'ai essayé à partir du lien ci-dessus telerik:
requirejs.config({
paths: {
'text': '../Scripts/text',
'durandal': '../Scripts/durandal',
'plugins': '../Scripts/durandal/plugins',
'transitions': '../Scripts/durandal/transitions',
'knockout': '../Scripts/knockout-2.3.0',
'jquery': '../Scripts/jquery-2.0.3',
'kendoGrid': '../Scripts//kendo.grid.min',
},
shim: {
"kendoGrid": {
deps: ["jquery"]
}
}
});
Quelle est la bonne façon de définir les dépendances de kendo comme kendo.data et kendo.core?
Au moment où je reçois une exception au démarrage de l'application de Durandal dans les systems.js disant:
"Impossible de charger le module composé (viewmodels/DocumentBrowser) Détails:. La propriété \" jQuery \ » de une référence non définie ou nul ne peut être « accessible ».
Je sais que cette erreur est pas directement de kendo, mais depuis que j'introduit ui kendo avec requirejs dans le module DocumentBrowser je reçois cette exception!
MISE à JOUR
Selon CodingWhitSpike`s conseil que j'ai changé la configuration de requirejs:
requirejs.config({
paths: {
'text': '../Scripts/text',
'durandal': '../Scripts/durandal',
'plugins': '../Scripts/durandal/plugins',
'transitions': '../Scripts/durandal/transitions',
'knockout': '../Scripts/knockout-2.3.0',
'jquery': '../Scripts/jquery-2.0.3',
'moment': '../Scripts/moment',
k: "../Scripts/kendo"
}
});
define(['durandal/app', 'plugins/dialog', 'knockout', 'services/dataservice', 'plugins/router', 'moment', 'k/kendo.grid.min'],
function (app, dialog, ko, dataservice, router, moment, kendoGrid) {
$("#grid").kendoGrid(...); => kendoGrid is instantiated and it works :)
});
votre lien dit que je dois remplacer VERSION avec la version d'ui de kendo que je veux utiliser, donc je suppose que je fais cela? "http://cdn.kendostatic.com/kendoui.web.2013.2.716.open-source/js" car c'est la version que j'ai téléchargée. Et ai-je besoin d'utiliser un cdn? si oui, comment dois-je définir correctement "k" avec ma version? Je ne comprends pas comment utiliser teleriks, parce que j'en ai plusieurs (voir mon code) pointant vers un fichier .js alors que telerik a UN chemin d'application pointant vers des fichiers et non un fichier bizarre. – Elisabeth
Vous n'avez pas besoin d'utiliser un CDN, vous pouvez juste faire le chemin vers vos fichiers locaux, par exemple: 'k:/scripts/kendo'. La définition de 'app' dans l'exemple ci-dessus n'est pas vraiment nécessaire. C'est juste un exemple. Cela peut être laissé de côté. – CodingWithSpike
@CodingWithSpike Voir ma mise à jour. Votre conseil a fonctionné comme je comprends maintenant, merci :) Vous devriez jeter votre commentaire dans une réponse ... ;-) – Elisabeth