¿Es posible evitar que requireJS agregue la extensión de archivo .js automáticamente?

Estoy usando requireJS para cargar scripts. TieneEste detalle en la documentación.:

La ruta que se usa para un nombre de módulo no debe incluir la extensión .js, ya que la asignación de ruta podría ser para un directorio.

En mi aplicación, asigno todos mis archivos de script en una ruta de configuración, porque se generan dinámicamente en tiempo de ejecución (mis scripts comienzan la vida como cosas comoorder.js pero convertirse en cosas comoorder.min.b25a571965d02d9c54871b7636ca1c5e.js (Este es un hash del contenido del archivo, para propósitos de almacenamiento en memoria caché).

En algunos casos, require agregará una segunda extensión .js al final de estas rutas. Aunque genero las rutas dinámicas en el lado del servidor y luego relleno la ruta de configuración, tengo que escribir un código javascript adicional para eliminar la.js Extensión de los archivos problemáticos.

Al leer la documentación requerida por JS, realmente no entiendo por qué querría que se usara la asignación de ruta para un directorio. ¿Significa esto que es posible cargar de alguna manera los archivos de un directorio completo en una llamada? No lo entiendo

¿Alguien sabe si es posible simplemente forzar la necesidad de dejar de agregar .js a las rutas de archivos para que no tenga que hackearlo?

Gracias.

ACTUALIZACIÓN: añadido algunos ejemplos de código según lo solicitado.

Esto está dentro de mi archivo HTML (es un proyecto de Scala, por lo que no podemos escribir estas variables directamente en un archivo.js expediente):

foo.js.modules = {
    order               : '@Static("javascripts/order.min.js")',
    reqwest             : 'http://5.foo.appspot.com/js/libs/reqwest',
    bean                : 'http://4.foo.appspot.com/js/libs/bean.min',
    detect              : 'order!http://4.foo.appspot.com/js/detect/detect.js',
    images              : 'order!http://4.foo.appspot.com/js/detect/images.js',
    basicTemplate       : '@Static("javascripts/libs/basicTemplate.min.js")',
    trailExpander       : '@Static("javascripts/libs/trailExpander.min.js")',
    fetchDiscussion     : '@Static("javascripts/libs/fetchDiscussion.min.js")'
    mostPopular         : '@Static("javascripts/libs/mostPopular.min.js")'
};

Entonces dentro de mimain.js:

requirejs.config({
    paths: foo.js.modules
});

require([foo.js.modules.detect, foo.js.modules.images, "bean"], 
    function(detect, images, bean) {
        // do stuff
});

En el ejemplo anterior, tengo que usar la cadena "bean" (que se refiere a la ruta requerida) en lugar de mi objeto directo (como los demás usanfoo.js.modules.bar) de lo contrario obtengo el extra.js adjunto

Espero que esto tenga sentido.

Respuestas a la pregunta(3)

Su respuesta a la pregunta