Utiliser moment.js avec le fichier lang et require.js
Je suis en train d'essayer d'utiliser la moment.js bibliothèque avec require.js et je suis toujours avoir de la difficulté à comprendre l'installation correcte d'un tel projet. Voici ce que je fais dans mon main.js fichier:
requirejs.config({
baseUrl: 'app',
paths: {
//... more parameters (all Backbone related)
'moment': 'lib/moment',
'moment_de': 'lib/lang/de',
},
shim: {
'moment' : {
deps: [],
},
'moment_de': {
deps: ['moment'],
},
//... more parameters (all Backbone related)
}
});
Je suis en utilisant un module séparé pour la configuration. Le module ressemble à ceci:
define(['moment', 'moment_de'], function(moment, de) {
moment.lang('de');
var configuration = {}
//...
return configuration;
});
Comme vous pouvez le voir, je suis en train de changer la langue mondiale de l'instant l'objet de ce fichier, mais je suis en cours d'exécution dans les messages d'erreur suivants:
Uncaught Error: Module name "../moment" has not been loaded yet for context: _. Use require([])
Et plus tard:
Uncaught TypeError: Cannot call method 'preparse' of undefined
Le premier message d'erreur est le module de langue qui est en cours de chargement bien qu'il doit être chargé APRÈS le moment du module (si je suis en train de faire). Le second est à partir du moment où le module qui est en essayant de passer le module de langue qui n'a pas été chargé.
Quelqu'un pourrait-il svp briller un peu de lumière sur cette question. Merci à l'avance.
MODIFIER: j'ai résolu le problème en utilisant le minifiés versions linguistiques (p. ex. cette une). Apparemment, le minimisé les versions sont à l'aide de l'AMD format, qui permettent de faciliter l'inclusion dans require.js les projets).
Je n'ai toujours pas comprendre pourquoi il n'est pas possible d'inclure les langues à l'aide de la cale de config, cependant. Peut-être que quelqu'un pourrait essayer de l'expliquer.
source d'informationauteur John Sieb
Vous devez vous connecter pour publier un commentaire.
Une autre solution (2015):
Cet exemple vise à démontrer comment l'utilisation de la
moment.js
traductions avec lenavigator.language
propriété, généralement la langue préférée de l'utilisateur.Définir
moment.js
et les fichiers de langue séparément dans votre requirejs de config, comme ceci:Créer un petit module, comme
lib/moment.js
et spécifier votre langue de configuration (vous pouvez trouver une liste des RFC 4646 les balises de langue ici):Veuillez noter:
moment.js
prend en charge l'anglais par défaut.Dans votre chaplinjs la vue de la classe (ou de toute autre mvc de classe, de la plaine de script, etc), l'utiliser comme ceci:
Vous ne devriez pas besoin de cale les modules de moment.js support des processeurs AMD.
http://jsfiddle.net/moderndegree/xYXUC/