Índice
CoffeeScript é uma linguagem que nos permite escrever melhor código JavaScript, isto unificando-o e enquadrando-o na mesma estrutura, onde teremos a certeza de que o código JavaScript criado por CoffeeScript por outro desenvolvedor, será idêntico ao nosso.Mas isso não é tudo que oferece CoffeeScript, além disso, possui uma ferramenta chamada Bolo, semelhante ao Grunt que nos permite definir tarefas simples para nos ajudar com nossos projetos, já que é possível que precisemos de uma tarefa para executar testes ou simplesmente uma para construir nossos arquivos e podemos fazer tudo isso com Bolo através de um arquivo chamado Cakefile.
RequisitosPara completar este tutorial, devemos ter uma instalação funcional de CoffeeScript, também precisamos de permissões para escrever arquivos e executar CoffeeScript no computador onde estamos fazendo o tutorial. Precisamos de um editor de texto como Texto Sublime ser capaz de escrever o código de nossos exemplos e nunca é demais dar uma olhada nos tutoriais anteriores da linguagem.
Antes de começar é importante mencionar que não precisamos instalar Bolo, no momento de nossa instalação inicial de CoffeeScript a ferramenta é instalada da mesma forma, portanto, não precisamos fazer nada adicional para começar a trabalhar com ela.
Sabendo disso, podemos começar a trabalhar com Bolo, mas devemos entender que todas as tarefas que criamos devem estar localizadas em um arquivo chamado Cakefile, que deve ter exatamente o mesmo nome desde cakefile será um arquivo totalmente diferente e não será reconhecido pelo compilador.
Este arquivo deve estar na raiz do nosso projeto e é extremamente importante que seu conteúdo seja apenas código CoffeeScript. Depois de esclarecer isso, vamos ver como criar nossa primeira tarefa com Bolo.
Vamos criar uma pasta chamada cakefile_example e lá vamos criar um arquivo chamado Cakefile.coffee e conterá o seguinte conteúdo:
tarefa "saudação", "Vamos dizer olá para a grande comunidade Solvetic", -> console.log "Olá, Mundo!"Antes de explicar nosso código, vamos compilá-lo e ver o conteúdo gerado em JavaScript, isso não é necessário, pois nunca veremos esse código, mas desta vez podemos usá-lo para entender melhor o que ele está fazendo CoffeeScript, vamos ver o resultado:
PROLONGAR
O exemplo anterior foi apenas para verificar o que o compilador estava fazendo, mas nosso arquivo Cakefile não deve ter nenhuma extensão. Além disso, podemos ver quais tarefas temos disponíveis com o comando bolo No console de comando, vamos ver como fica:
A primeira coisa que devemos fazer em nossa tarefa é definir a opção, fazemos isso com a função opção acessível Bolo. Esta função leva três argumentos, o primeiro é a forma abreviada da opção, o segundo é a forma longa e o último é uma descrição do que a opção faz, algo importante se estamos desenvolvendo como uma equipe e queremos documentar nossas tarefas. Em seguida, faremos as modificações em nossa tarefa para definir a opção:
opção '-n', '--nome [NOME]', 'nome para cumprimentar' tarefa "saudação", "Dizemos olá a alguém", (opções) -> mensagem = "Olá," if options.name? mensagem + = options.name else message + = "World" console.log mensagemComo vemos antes da definição de tarefa nós temos nossa função opção, seguido pela forma abreviada que seria -n, então temos a forma longa que seria -name especificando que esperará um valor e, finalmente, a descrição. Vamos executar o comando cake e ver a saída em nosso console:
Além disso, podemos definir se uma opção é necessária e fazemos isso na definição da tarefa verificando se o valor existe e se não lançarmos um erro, vamos ver como é o código:
opção '-n', '--nome [NOME]', 'nome que deseja saudar' tarefa "saudação", "Verifique se a opção existe", (opções) -> lançar novo Erro ("[NOME] é um valor obrigatório ") a menos que options.name? console.log "Olá, # {options.name}"Vamos então executar nossa tarefa, mas desta vez ignorando a opção como um argumento e ver a resposta do console:
Já tendo visto como criar nossas tarefas e definir opções para elas, é importante ver como podemos executar tarefas que se encontram dentro de outras. Por exemplo, podemos ter duas tarefas em comum em um projeto onde uma das tarefas é responsável por limpar os diretórios que construímos para o projeto e a outra é responsável por compilar e construir, vamos ver como essas duas tarefas que acabamos de ser parecido com. descreva:
task "clean", "Esta tarefa realiza a limpeza dos diretórios", -> console.log "cleaning the dir …" task "build", "Construir e compilar os arquivos para o projeto", -> console.log "construindo …"Vamos executar o comando bolo e vamos ver a resposta por meio do console:
O problema é que esta solução não é a ideal, se por algum motivo nos esquecemos de chamar a tarefa limpa ou pior, nossa tarefa de construção terá problemas com nossa terceira tarefa, felizmente o Cake nos permite chamar uma tarefa dentro de outra com a função invocar, então vamos ver como nosso arquivo se parece Cakefile com a nova tarefa e modificações:
task "clean", "Esta tarefa realiza a limpeza dos diretórios", -> console.log "cleaning the dir …" task "build", "Construir e compilar os arquivos para o projeto", -> console.log "build …" task "pack", "clean, build and pack our project", -> invocar "clean" invocar "build" console.log "embalagem …"Agora só temos que chamar nosso empacotamento e assim ter certeza de que as outras duas tarefas necessárias são chamadas sem problemas, vamos ver a saída no console de comando:
Com isto concluímos este tutorial, onde aprendemos a criar as nossas tarefas, executá-las, dar-lhes opções e até como invocar outras tarefas dentro de outras, expandindo assim o nosso conhecimento nesta linguagem eficaz que contribui para as melhores práticas de qualquer desenvolvimento.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo