No utilice sugar.js - Modifica prototipos nativos entonces TODO los usará, no solo su módulo. Hacer esto es increíblemente insidioso, no es modular, y te morderá en el culo cuando menos lo esperes.
Vale la pena repetirlo: no utilice ningún módulo que modifique prototipos nativos fuera del contexto (muy razonable) de polifilling. No uses Sugar.js. Especialmente en node.js - hay un sistema de módulos allí por una razón. Personalmente he tenido problemas terribles con cosas que modifican los prototipos nativos. Cosas raras pueden suceder en las entrañas de tu código.
Aquí hay más información sobre por qué la modificación de objetos nativos es malo:
http://www.nczonline.net/blog/2010/03/02/maintainable-javascript-dont-modify-objects-you-down-own/
ACTUALIZACIÓN: Parece que ahora trata de azúcar v2.0.0 nativos que se extienden como opt-in, que es mucho mejor (ya que los nativos no se extienden por defecto).
Buena demostración. Entiendo ahora. – jiyinyiyong
¿Hay algún punto en asignar el valor de retorno de 'require ('sugar')' a una variable? – callum
@callum Nope 'require ('sugar')' devuelve un objeto vacío. Escribir la parte 'var sugar =' es inútil. –