{"id":229305,"date":"2022-10-29T17:49:00","date_gmt":"2022-10-29T14:49:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229305"},"modified":"2022-11-09T06:24:21","modified_gmt":"2022-11-09T03:24:21","slug":"homebrew-node-e-gulp-para-desenvolvimento-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/homebrew-node-e-gulp-para-desenvolvimento-wordpress\/","title":{"rendered":"Homebrew, Node e Gulp para Desenvolvimento WordPress"},"content":{"rendered":"\n<p>Embora eu tenha um conjunto de ferramentas que prefiro usar em projetos em que trabalho desde o in\u00edcio, a natureza do trabalho por contrato \u00e9 que voc\u00ea nem sempre pode usar essas ferramentas.<\/p>\n<p>Em vez disso, voc\u00ea precisa trabalhar usando as ferramentas fornecidas pelo cliente que geralmente entram em a\u00e7\u00e3o sempre que voc\u00ea herda um projeto de um desenvolvedor anterior.<\/p>\n<p>Para ser claro, isso n\u00e3o est\u00e1 prejudicando a escolha de ferramentas de ningu\u00e9m. Eu n\u00e3o tenho uma posi\u00e7\u00e3o aqui ou ali sobre isso. Em vez disso, acho importante saber como come\u00e7ar a usar algumas dessas ferramentas facilmente.<\/p>\n<p>Por exemplo, estamos trabalhando em um projeto que requer o Gulp, que por sua vez requer o Node, que pode ser instalado facilmente usando o Homebrew. \u00c9 um monte de passos para trabalhar para tr\u00e1s, certo?<\/p>\n<p>Para come\u00e7ar com <a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a>, <a href=\"https:\/\/nodejs.org\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Node<\/a> e <a href=\"http:\/\/gulpjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Gulp<\/a> no desenvolvimento do WordPress \u00e9 muito f\u00e1cil. Descrevi as etapas abaixo e fiz o poss\u00edvel para explicar o que cada pacote faz para que voc\u00ea saiba o que est\u00e1 instalando e o que est\u00e1 fazendo se ou quando encontrar um projeto como este.<\/p>\n<h2>Homebrew, Node e Gulp<\/h2>\n<p>Para aqueles que t\u00eam alguma ideia do que s\u00e3o Gulp e Node, provavelmente j\u00e1 viram maneiras de instal\u00e1-los em seu caminho. Se isso funciona para voc\u00ea e voc\u00ea tem uma \u00f3tima configura\u00e7\u00e3o, ent\u00e3o voc\u00ea est\u00e1 pronto para ir, e eu n\u00e3o me preocuparia muito com o resto deste post.<\/p>\n<p>Se, por outro lado, voc\u00ea \u00e9 novo nisso, esse \u00e9 o processo que sigo ao trabalhar com esse tipo de configura\u00e7\u00e3o.<\/p>\n<p>Mas lembre-se: mesmo que eu esteja percorrendo tr\u00eas softwares para instalar, cada um deles pode ser instalado \u00e0 sua maneira, mas instal\u00e1-los usando um pacote como o Homebrew tamb\u00e9m fornece uma maneira limpa de instalar outros softwares da mesma maneira.<\/p>\n<p>Vou cobrir Homebrew primeiro, depois olhar para Node e Gulp. Ent\u00e3o aqui vamos n\u00f3s: Homebrew, Node e Gulp, todos para desenvolvimento WordPress.<\/p>\n<h3>1 cerveja caseira<\/h3>\n<p>Resumindo, o Homebrew \u00e9 um gerenciador de pacotes que roda no macOS. Ele nos permite instalar e desinstalar software a partir da linha de comando facilmente.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167315-61e7a19c4bf8e.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167315-61e7a19c4bf8e.png\" alt=\"Homebrew, Node e Gulp para Desenvolvimento WordPress\" ><\/a><\/p>\n<p>A p\u00e1gina inicial do Homebrew<\/p>\n<p>O gerenciador de pacotes nos permite instalar e gerenciar facilmente uma enorme quantidade de software, muitos dos quais s\u00e3o \u00fateis para os desenvolvedores.<\/p>\n<p>A p\u00e1gina inicial afirma:<\/p>\n<blockquote>\n<p>O Homebrew instala o que voc\u00ea precisa que a Apple n\u00e3o fez.<\/p>\n<\/blockquote>\n<p>Mas para ver o que quero dizer, d\u00ea uma olhada no <a href=\"https:\/\/github.com\/Homebrew\/homebrew-core\/tree\/master\/Formula\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">reposit\u00f3rio<\/a>. \u00c9 enorme, certo? Para este post, estou me concentrando apenas na instala\u00e7\u00e3o do Node.<\/p>\n<p>E optei por incluir este resumo no Homebrew antes de instalar o resto dos pacotes porque \u00e9 algo que acho que vale a pena explorar se voc\u00ea nunca tentou antes.<\/p>\n<h3>2 N\u00f3<\/h3>\n<p>Para instalar o Gulp, voc\u00ea precisa instalar o node, que \u00e9 um runtime JavaScript no qual o Gulp \u00e9 constru\u00eddo. Sim, ele oferece muitas outras funcionalidades, mas tudo est\u00e1 al\u00e9m do escopo deste post.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167315-61e7a1a4a32c2.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167315-61e7a1a4a32c2.png\" alt=\"Homebrew, Node e Gulp para Desenvolvimento WordPress\" ><\/a><\/p>\n<p>A p\u00e1gina inicial do n\u00f3<\/p>\n<p>A p\u00e1gina inicial afirma:<\/p>\n<blockquote>\n<p>O ecossistema de pacotes do Node.js, npm, \u00e9 o maior ecossistema de bibliotecas de c\u00f3digo aberto do mundo.<\/p>\n<\/blockquote>\n<p>E voc\u00ea pode pesquisar todos os pacotes dispon\u00edveis <a href=\"https:\/\/www.npmjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">na p\u00e1gina inicial do NPM<\/a>. Uma simples busca por &#8216;gulp&#8217; produzir\u00e1 quase 10.000 resultados de pacotes que podem funcionar com o task-runner (alguns dos quais fazem a mesma coisa, mas voc\u00ea entendeu).<\/p>\n<h3>3 goles<\/h3>\n<p>Finalmente, o Gulp \u00e9 um simples executor de tarefas de linha de comando que permite automatizar muitas coisas diferentes em seu processo de desenvolvimento. Como um exemplo, ele tem um pacote que ir\u00e1 <a href=\"https:\/\/www.npmjs.com\/package\/gulp-sass\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">observar arquivos Sass<\/a> e transpil\u00e1-los e combin\u00e1-los em cada arquivo salvo.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167315-61e7a1ab085e4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167315-61e7a1ab085e4.png\" alt=\"Homebrew, Node e Gulp para Desenvolvimento WordPress\" ><\/a><\/p>\n<p>A p\u00e1gina inicial do Gulp<\/p>\n<p>Coloque sucintamente:<\/p>\n<blockquote>\n<p>gulp \u00e9 um kit de ferramentas para automatizar tarefas dolorosas ou demoradas em seu fluxo de trabalho de desenvolvimento, para que voc\u00ea possa parar de brincar e construir algo.<\/p>\n<\/blockquote>\n<p>Por meio do que \u00e9 chamado de arquivo gulp, voc\u00ea precisa incluir v\u00e1rias depend\u00eancias \u2013 como aquelas que permitem transpilar e combinar arquivos CSS \u2013 e fazer isso automaticamente sempre que necess\u00e1rio.<\/p>\n<p>Mas n\u00e3o para por a\u00ed: voc\u00ea tamb\u00e9m pode trabalhar com imagens, modelos, arquivos minify, arquivos lint <a href=\"https:\/\/github.com\/gulpjs\/gulp\/tree\/master\/docs\/recipes\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">e assim por diante<\/a>.<\/p>\n<h2>Instalando Homebrew, Node e Gulp<\/h2>\n<p>Todos os itens acima s\u00e3o uma introdu\u00e7\u00e3o ao software, mas como instalamos tudo em nosso sistema?<\/p>\n<p>Primeiro, instale o homebrew. Para fazer isso, inicie o Terminal e digite o seguinte comando:<\/p>\n<pre><code>$ \/usr\/bin\/ruby -e \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)\"<\/code><\/pre>\n<p>Se isso parecer meio estranho, saiba que est\u00e1 usando cURL e o execut\u00e1vel Ruby instalado para baixar o pacote Homebrew e instal\u00e1-lo em seu sistema.<\/p>\n<p>Em seguida, instale o Node. Uma vez que o Homebrew est\u00e1 instalado, isso \u00e9 f\u00e1cil. Basta digitar o seguinte comando:<\/p>\n<pre><code>$\u00a0brew <\/code><\/pre>\n<p>F\u00e1cil, certo? E, finalmente, \u00e9 necess\u00e1rio instalar o Gulp e os pacotes necess\u00e1rios. Isso vai depender do seu projeto, mas para o projeto que tenho, preciso:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/gulp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">gole<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/gulp-cli\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">gulp-cli<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/gulp-sass\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">gulp-sass<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/gulp-watch\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">gulp-watch<\/a><\/li>\n<\/ul>\n<p>Voc\u00ea pode ou n\u00e3o precisar deles, ent\u00e3o aqui est\u00e1 como instalar as depend\u00eancias gulp e gulp-sass usando o Node. Digite o seguinte no seu terminal:<\/p>\n<pre><code>$ npm install gulp\n$ npm install gulp-sass<\/code><\/pre>\n<p>Em seguida, digite:<\/p>\n<pre><code>$ gulp sass:watch<\/code><\/pre>\n<p>Isso instalar\u00e1 as depend\u00eancias necess\u00e1rias e, em seguida, dir\u00e1 ao Gulp para observar as modifica\u00e7\u00f5es em seus arquivos Sass. O tamb\u00e9m \u00e9 baseado na ideia de que voc\u00ea tem um arquivo gulp que j\u00e1 est\u00e1 definido.<\/p>\n<p>Se n\u00e3o, voc\u00ea precisar\u00e1 cri\u00e1-lo voc\u00ea mesmo. Felizmente, <a href=\"https:\/\/github.com\/gulpjs\/gulp\/tree\/master\/docs\/recipes\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">existem muitas receitas<\/a> dispon\u00edveis.<\/p>\n<h2>Outros recursos<\/h2>\n<p>Como voc\u00ea pode ver, \u00e9 bastante simples, mas o executor de tarefas \u00e9 sobre o seu ambiente. Eu recomendo ler a documenta\u00e7\u00e3o de cada um dos pacotes acima para obter uma compreens\u00e3o mais profunda do que a breve descri\u00e7\u00e3o que forneci:<\/p>\n<ul>\n<li><a href=\"http:\/\/docs.brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Documenta\u00e7\u00e3o Homebrew<\/a><\/li>\n<li><a href=\"https:\/\/nodejs.org\/api\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">API do n\u00f3<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/gulpjs\/gulp\/blob\/master\/docs\/README.md\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Documenta\u00e7\u00e3o do Gulp<\/a><\/li>\n<\/ul>\n<p>E lembre-se: isso n\u00e3o substitui nenhuma ferramenta ou fluxo de trabalho que voc\u00ea j\u00e1 tenha. Em vez disso, serve para mostrar como instalar um conjunto de ferramentas que um projeto que voc\u00ea herdou pode precisar. E se n\u00e3o for o Gulp, talvez seja o <a href=\"https:\/\/gruntjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Grunt<\/a> ou algum outro executor de tarefas. O ponto \u00e9, h\u00e1 um processo para faz\u00ea-lo.<\/p>\n<p>Para aqueles que est\u00e3o interessados \u200b\u200bespecificamente no Homebrew (que \u00e9 a base para tudo acima), tamb\u00e9m recomendo a leitura do post de <a href=\"https:\/\/twitter.com\/twigpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Carl Alexander<\/a> sobre <a href=\"https:\/\/carlalexander.ca\/2016-macbook-pro-setup\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sua configura\u00e7\u00e3o atual<\/a>. Ele tem uma se\u00e7\u00e3o inteiramente dedicada ao Homebrew, por que ele o usa e muito mais.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come\u00e7ar com Homebrew, Node e Gulp no desenvolvimento do WordPress \u00e9 muito f\u00e1cil. Eu descrevi e expliquei as etapas neste post.<\/p>\n","protected":false},"author":1,"featured_media":223785,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,722,920,867],"tags":[1170],"class_list":["post-229305","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-outro","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=229305"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229305\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223785"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=229305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=229305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=229305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}