Cómo estructurar varias páginas con RequireJS

¿Cómo estructurar varias páginas con RequireJS? ¿Es, como el siguiente ejemplo, declarar cada clase en app.js es lo correcto? Tiene todos los archivos html para declarar el<script data-main="src/main" src="src/require.js"></script>?

o que quiero evitar es cargar todo el script cuando un usuario llega a la primera página de un sitio.

main.js que define todas las dependencias externas:

require(
    {
        baseUrl:'/src'
    },
    [
        "require",
        "order!http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js",
        "order!http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js",
        "order!http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js",
        "order!http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"
    ], 
    function (require) {
        require(["app"], function (app) {
            app.start();
        });
    }
);

rchivo @ app.js que define cada componente:

define([ "product/ProductSearchView",
         "product/ProductCollection"
         ], function (ProductSearchView,
                      ProductCollection) {
         return {
             start: function() {
                  var products = new ProductCollection();
                  var searchView = new ProductSearchView({ collection: products });
                  products.fetch();
                  return {};
             }
        }
});

Respuestas a la pregunta(2)

Su respuesta a la pregunta