Como estruturar várias páginas com RequireJS

Como estruturar várias páginas com o RequireJS? Como no exemplo a seguir, declarar todas as classes no app.js é a coisa certa a fazer? Tem todo arquivo html para declarar o<script data-main="src/main" src="src/require.js"></script>?

O que eu quero evitar é carregar todo o script quando um usuário chegar à primeira página de um sit

main.js definindo todas as dependências 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();
        });
    }
);

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 {};
             }
        }
});

questionAnswers(2)

yourAnswerToTheQuestion