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.

18,111 thoughts on “Using RequireJS exports with CoffeeScript

  1. best rated payout online casino nz, online casino usa reddit and
    canada best slot machine, or netent no deposit bonus nz

    my blog post – what is don’t pass in craps (Madelaine)

  2. В статье представлены ключевые моменты по актуальной теме, дополненные советами экспертов и ссылками на дополнительные ресурсы. Цель материала — дать читателю инструменты для самостоятельного развития и принятия осознанных решений.
    Что скрывают от вас? – нарколог на дом

  3. وقت بخیر، بنده اخیرا اتفاقی آنلاین به این صفحه رسیدم و واقعا خیلی خوشم اومد.
    اطلاعاتش جذاب بود و کمتر همچین سایتی ببینم.
    احساس می‌کنم برای افراد مختلف ارزش دیدن داره.
    اگر به دنبال یه سایت خوب هستن حتما یه نگاهی بندازن.

    در کل تجربه خوبی بود و قطعا دوباره استفاده می‌کنم

    در جمع‌بندی نهایی

    برای کاربرایی که در جستجو هستن

    گیم‌های پولی

    وقت صرف می‌کنن

    این شبکه

    می‌تونه واقعاً

    قابل توجه باشه

    قابل توجهه که

    پلتفرم‌هایی مثل

    پلتفرم enfеjaronline

    و

    شبکه sibbet

    شناخته شده هستن

    در یک نگاه

    قابل قبول بود

    و

    به زودی

    مراجعه مجدد دارم

    .

    Also visit my web paage – سایت آموزشی – Shikchat.Ir -

  4. Почему пользователи выбирают площадку KRAKEN?

    Маркетплейс KRAKEN заслужил доверие многочисленной аудитории благодаря сочетанию
    ключевых факторов. Во-первых, это широкий и разнообразный ассортимент, представленный сотнями продавцов.
    Во-вторых, интуитивно понятный интерфейс KRAKEN, который
    упрощает навигацию, поиск товаров и управление заказами даже для новых пользователей.
    В-третьих, продуманная система безопасных транзакций, включающая механизмы разрешения споров (диспутов) и возможность использования условного депонирования, что минимизирует риски для обеих сторон сделки.
    На KRAKEN функциональность сочетается с внимательным отношением к безопасности клиентов, что делает процесс покупок более предсказуемым, защищенным и, как следствие, популярным среди пользователей, ценящих анонимность и надежность.

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>