Este novo módulo chamado Connect-Coffee-Script é um Conectar Middleware usado para servir arquivos JavaScript escritos em CoffeeScript. Este middleware deve ser usado por conexão ou qualquer estrutura compatível com conexão, como Expressar e Zappa. Para aqueles que não estão familiarizados com CoffeeScripté um transpiler que compilam em JavaScript.
Mas primeiro, vamos explicar como eu cheguei a publicar um módulo em julho de 2012. Até agora, fiquei extremamente feliz com o compiler
Middleware presente no Connect. No entanto, com o lançamento mais recente de Connect and Express, as coisas mudaram. Eu me vi tendo muito dificuldade em encontrar um middleware que renderá meu cliente CoffeeScript arquivos.
Toda a minha tentativa do Google leva ao Connect-coffee middleware que por si só é preterido em favor de Connect-atingesets. Olhando para o ReadMe, devo confessar que não era um grande fã à primeira vista. Eu simplesmente não conseguia entender todo o conceito. Além disso, continuo pensando que a abordagem de layout padrão usada por este módulo está errada para meus projetos. Mas mais pesquisando no Google não ajudou. Se o Connect-Ossets foi o único, vamos ser. No entanto, talvez eu não tenha sido paciente o suficiente, não consegui encontrar nenhum exemplo claro de como usá -lo. Depois de algumas tentativas e depois de ler essas duas postagens “Nodejs + CoffeeScript, Renderize CoffeeScript compilado JS a pedido” e “O middleware Connect para CoffeeScript?” No Stackoverflow, cheguei à conclusão de que provavelmente não havia nenhuma alternativa simples e que eu poderia não ser o único interessado.
Para minha própria surpresa, foi assim que cheguei a escrever este módulo. Além disso, achei muito engraçado escrever no momento de um público Guerra da chama no Node.js Mailinglist, que começou com um tópico completamente diferente.
O código é altamente inspirado pelo Caneta middleware e funcionam da mesma forma. Para qualquer solicitação de obtiver http qual extensão é “.js”, procure um arquivo de mesmo nome, mas com uma extensão “.coffee” em um diretório local, o src
opção. Ele também procura um arquivo de mesmo nome e a mesma extensão em um segundo diretório local, o dest
opção. Se o arquivo “.js” não existir ou se seu último tempo de modificação for menor o arquivo “.coffee”, ele será gerado a partir do arquivo “.coffee”.
Essa abordagem é bastante performente, fácil de configurar e transparente no uso. Também funciona muito bem com o cache nativo de conexão e os meios estáticos.
Você encontrará exemplos no Projeto Github Readme, bem como dentro da pasta “amostra”.