Using RequireJS exports with CoffeeScript

If you are using the “exports” object in your RequireJS module definition and happen to also be using CoffeeScript then be careful to either return the exports object at the end of the function or explicitly return nothing from the function by typing “return” on the last line. Like so:

define((require, exports, module) ->
    exports.foo = 'bar'
    return
)

If you don’t return nothing or the exports object CoffeeScript will compile this:

define((require, exports, module) ->
    exports.foo = 'bar'
)

…to the following javascript:

define(function(require, exports, module) {
    return exports.foo = 'bar';
});

Where the return value will be the string ‘bar’. This is no good because if you return a value from your module definition function, RequireJs uses it instead of the exports object. So when you come to require your module, you’ll be passed a String, rather than an object with a “foo” property as you’d expect.

17,830 thoughts on “Using RequireJS exports with CoffeeScript

  1. El portal Deporte Ecuador funciona como un espacio informativo
    centrada en el análisis del entorno deportivo digital en Ecuador.
    La plataforma integra artículos que examinan el desarrollo
    del deporte ecuatoriano en relación con la tecnología, la data y las tendencias de uso actuales.

    A diferencia de los sitios convencionales, Deporte Ecuador no se limita a cubrir resultados
    o noticias. La propuesta se basa en interpretar cómo opera el ecosistema deportivo actual: el modo en que los usuarios usan las plataformas, qué variables afectan sus decisiones y cómo
    cambian los criterios de calidad en el entorno digital.

    La información dentro del portal se organiza bajo
    varios pilares principales. En primer lugar, se evalúan las plataformas deportivas desde
    la perspectiva de la experiencia del usuario, la estabilidad
    y la coherencia del servicio. Por otro, se estudian tendencias del mercado, etapas
    de digitalización y evolución del consumo deportivo en el mercado ecuatoriano.

    Además, el proyecto analiza temas vinculados a la regulación, la ciberseguridad y la toma de decisiones dentro del entorno online.

    Gracias a ello, se obtiene una perspectiva más integral del ámbito deportivo,
    fusionando análisis técnico, escenario nacional y conducta del usuario.

    El objetivo del proyecto es proporcionar información clara,
    estructurada y útil para entender el papel del deporte en la era digital.

    No busca dar respuestas simples, sino aportar claridad a un panorama digital cada vez más
    difícil de entender.
    La plataforma se enfoca en usuarios that desean profundizar más allá de la información superficial: considerando
    su dimensión tecnológica hasta su impacto en la experiencia diaria.

    Se señala que el texto incluye un enlace para continuar leyendo la información.

  2. This is my first time visit at here and i am genuinely
    impressed to read all at alone place.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>