Al exportar un nuevo objeto a través de require.js: ¿crea realmente un objeto "nuevo" o simplemente devuelve una instancia de un objeto existente?

Supongamos que tengo los módulos A, B y C en require.js. Módulo A exportar nuevo objeto.

define(function() {

    // constructor
    function F() {
        this.prop = 'some';
    }

    // module exports
    return new F();   

});

Los módulos B y C importan la instancia de F () desde A:

define(['A'], function(f_inst) {
    // code
});

Por alguna razón necesito que F sea singleton. No tengo una comprensión seria de cómo funciona require.js. Entonces, esta es mi pregunta: ¿necesito usar patrones singleton para F () en este caso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta