65 votes

Pourquoi avez-vous Underscore.js retiré support pour AMD ?

1.3.0 - Janv. 11, 2012 Supprimé AMD (RequireJS) le soutien de trait de Soulignement. Si vous souhaitez utiliser Souligner avec RequireJS, vous pouvez charger comme une normale de script, châle ou un patch sur votre copie, ou de télécharger un fork de la version.

Pourquoi ont-ils fait? Personne ne sait? Parce que ils ont ajouté seulement il y a quelques mois (en octobre) et AMD (Asynchronous Module Definition) est dit être de loin supérieure à CommonJS modules.

Mise à jour: décembre 2013, cela a été à nouveau pris en charge.

56voto

Jonathan Lonowski Points 45253

Jeremy a donné son raisonnement dans les commentaires de la livraison:

Yep. En ne soutenant pas un script de chargement va certainement rendre plus facile pour tous de travailler correctement.

Je m'excuse pour la fusion de la prise en charge dans la première place.

Il a également tweeté un peu plus sur la modification (lien à partir d' un commentaire plus tard):

... parce que le support AMD, c'est de casser régulièrement trait de Soulignement embarque sur les pages qui se trouvent à utiliser Require.js ...

29voto

Agelos Pikoulas Points 635

Les développeurs d’Underscore pensaient qu’avoir le support AMD romprait l’assistance sur des scripts non compatibles AMD. En réalité, ce n'est pas le cas, car vous pouvez avoir un script compatible à la fois avec AMD mais qui fonctionne aussi tel quel sur un déploiement non-AMD.

Il existe maintenant un remplacement instantané pour Underscore: Lo-Dash . Ce qui, avec d’autres fonctionnalités qui ne figurent pas dans Underscore, inclut la dualité AMD / non AMD.

10voto

ZenMaster Points 4209

J'ai ressenti le besoin d'ajouter à cette vieille question.

À la fois Fédérateur et Soulignent désormais en charge de la DMLA:

  1. Trait de soulignement commettre
  2. La Dorsale S'Engager

Les Discussions (quoique épine Dorsale c'est un peu étonnant car il y a clairement un décalage entre le ton de la discussion et le résultat réel):

  1. Trait De Soulignement Problème
  2. Épine Dorsale Problème

1voto

mikemaccana Points 7470

ES5-shim offre de nombreuses fonctionnalités comme un trait de soulignement et lodash (tableau.forEach(), array.map (), etc).

ES5-shim prend nativement en charge de la DMLA, à la différence d'un trait de soulignement et lodash, ne pas ajouter des copies supplémentaires de ce que votre navigateur est probablement déjà le offre. Plutôt, il ajoute natif ES5 fonctionnalités pour les navigateurs plus anciens.

Lorsque IE8 et d'autres navigateurs plus anciens mourir, vous pouvez simplement retirer l'ES5-cale de dépendance sans avoir à port code comme vous le feriez avec lodash ou un trait de soulignement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X