Como eu uso o Node e o Express com o coffeescript e o requirejs?

Aqui está o que eu quero.

Um aplicativo de nó usando o servidor da web expressoUsando o coffeescript no servidor e, mais importante, o clienteUsando require.js no cliente (e, eventualmente, no servidor)

A maneira recomendada que eu consegui encontrar de conectar o coffeescript para o cliente é usarconectar-ativos. Isso parece exigir o uso de ajudantes de jade para compilar o coffeescript, por exemplo.

!=js('monalisa.js')

parece compilar monalisa.coffee e gerar o correto<script> tag. Agora eu quero usar require.js e aqui eu tropeço. Como posso garantir que os ativos de conexão compilam tudo corretamente sem usar os auxiliares de jade?

Aqui está o meu bastante simples app.js:

require('coffee-script');

var express = require('express')
  , http = require('http')
  , path = require('path')
  , connectAssets = require('connect-assets');

var publicDir = path.join(__dirname, 'public');

var app = express();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');

  app.use(express.favicon());
  app.use(express.logger('dev'));

  app.use(express.bodyParser());
  app.use( connectAssets() );
  app.use('/public', express.static(publicDir));

  app.use(express.logger());
  app.use(express.methodOverride());
  app.use(app.router);
});

app.configure('development', function(){
  app.use(express.errorHandler({
    dumpExceptions: true,
    showStack: true
  }));
});

app.get('/', require('./routes').index);
app.get('/monalisa', require('./routes/monalisa').monalisa);

http.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});

questionAnswers(3)

yourAnswerToTheQuestion