{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2017/05/18/whats-new-in-create-react-app.html","result":{"data":{"markdownRemark":{"html":"<p>A menos de um ano atrás, nós introduzimos <a href=\"/blog/2016/07/22/create-apps-with-no-configuration.html\">Create React App</a> como uma forma oficialmente apoiada de criar aplicações com zero configuração. Desde então, o projeto teve um enorme crescimento, com mais de 950 commits de mais de 250 contribuidores.</p>\n<p>Hoje, estamos entusiasmados em anunciar que muitos recursos que estiveram na pipeline dos últimos meses foram finalmente lançados.</p>\n<p>Como de costume com o Create React App, <strong>você pode aproveitar essas melhorias em suas aplicações não ejetadas existentes atualizando uma única dependência</strong> e seguindo nossas <a href=\"https://github.com/facebookincubator/create-react-app/releases/tag/v1.0.0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">instruções de migração</a>.</p>\n<p>Aplicações recém-criadas obterão essas melhorias automaticamente.</p>\n<h3 id=\"webpack-2\"><a href=\"#webpack-2\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>webpack 2 </h3>\n<blockquote>\n<p><em>Esta mudança foi uma contribuição de <a href=\"https://github.com/Timer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@Timer</a> em <a href=\"https://github.com/facebookincubator/create-react-app/pull/1291\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#1291</a>.</em></p>\n</blockquote>\n<p>Atualizamos para o webpack 2, que foi <a href=\"https://medium.com/webpack/webpack-2-and-beyond-40520af9067f\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">oficialmente lançado</a> há alguns meses. É uma grande atualização com muitas correções de bugs e melhorias gerais. Temos testado por um tempo, e agora consideramos estável o suficiente para recomendar a todos.</p>\n<p>Embora o formato de configuração do webpack tenha mudado, os usuários do Create React App que não ejetaram não precisam se peocupar com isso, pois atualizamos a configuração do nosso lado.</p>\n<p>Se você ejetou sua aplicação por algum motivo, Webpack provê um <a href=\"https://webpack.js.org/guides/migrating/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">guia de migração de configuração</a> que você pode seguir para atualizar suas aplicações. Note que com cada release do Create React App, nós estamos trabalhando para suportar mais casos de uso fora da caixa para que você não tenha que ejetar no futuro.</p>\n<p>A funcionalidade mais notável do webpack 2 é a habilidade de escrever e importar <a href=\"http://2ality.com/2014/09/es6-modules-final.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">módulos ES6</a> diretamente sem compilar eles para CommonJS. Isso não deve afetar como você escreve código desde que você já use instruções <code class=\"gatsby-code-text\">import</code> e <code class=\"gatsby-code-text\">export</code>, mas ajudará a detectar mais erros, como a falta de exportações nomeadas em tempo de compilação:</p>\n<p><img src=\"/d9aaae3589e6a7b6076b64de79f4bd13/cra-update-exports.gif\" alt=\"Validação de export\"> </p>\n<p>No futuro, à medida que o ecossistema em torno dos módulos ES6 amadurecer, você poderá esperar mais melhorias no tamanho do bundle da sua aplicação, graças a <a href=\"https://webpack.js.org/guides/tree-shaking/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">tree shaking</a>.</p>\n<h3 id=\"error-overlay\"><a href=\"#error-overlay\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a> Sobreposição de Erro em Tempo de Execução </h3>\n<blockquote>\n<p><em>Esta mudança foi uma contribuição de <a href=\"https://github.com/Timer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@Timer</a> e <a href=\"https://github.com/nicinabox\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nicinabox</a> em <a href=\"https://github.com/facebookincubator/create-react-app/pull/1101\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#1101</a>, <a href=\"https://github.com/bvaughn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bvaughn</a> em <a href=\"https://github.com/facebookincubator/create-react-app/pull/2201\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#2201</a>.</em></p>\n</blockquote>\n<p>Você já cometeu algum erro no código e só percebeu isso depois que o console foi inundado por erros enigmáticos? Ou pior, você já enviou uma aplicação com falhas para produção porque acidentalmente perdeu um erro no desenvolvimento?</p>\n<p>Para resolver esses problemas, estamos introduzindo uma sobreposição sempre que houver um erro não detectado na sua aplicação. Ele só aparece no desenvolvimento e você pode descartá-lo pressionando Escape. </p>\n<p>Um GIF vale mais que mil palavras:</p>\n<p><img src=\"/a0c1e436d1ea034c8ecaf48e8bcb2890/cra-runtime-error.gif\" alt=\"Sobreposição de Erro em Tempo de Execução\"> </p>\n<p>(Sim, ele se integra ao seu editor!)</p>\n<p>No futuro, planejamos ensinar a sobreposição de erros de tempo de execução a entender mais sobre sua aplicação React. Por exemplo, após o React 16, planejamos mostrar pilhas de componentes React além das pilhas JavaScript quando um erro é gerado.</p>\n<h3 id=\"progressive-web-apps-by-default\"><a href=\"#progressive-web-apps-by-default\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Aplicações Web Progressivas por Padrão </h3>\n<blockquote>\n<p><em>Esta mudança foi uma contribuição de <a href=\"https://github.com/jeffposnick\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jeffposnick</a> em <a href=\"https://github.com/facebookincubator/create-react-app/pull/1728\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#1728</a>.</em></p>\n</blockquote>\n<p>Projetos criados recentemente são construídos como <a href=\"https://developers.google.com/web/progressive-web-apps/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Aplicações Web Progressivas</a> por padrão. Isso significa que eles empregam <a href=\"https://developers.google.com/web/fundamentals/getting-started/primers/service-workers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">service workers</a> com uma <a href=\"https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#cache-falling-back-to-network\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">estratégia de cache offline-first</a> para minimizar o tempo necessário para veicular a aplicação aos usuários que o visitam novamente. Você pode desativar esse comportamento, mas recomendamos para aplicações novas e existentes, especialmente se você tem como alvo dispositivos móveis.</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/cff5fa9b92de804e655ea669a53d4d9c/d74fe/cra-pwa.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 840px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 41.42857142857143%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAABYlAAAWJQFJUiTwAAABUklEQVQY0zVQ226DMAzl/7+o0rTuKlg7tdrDVO2FwrgnIYEkECCQZIa1lmMdH1/kHE98XxiqsDR9SRRvCaVVhXk/cyGyLK8Q6vue0hoh1DTNMAyEEMYYRIyxV1RVXUMVqEZKWRRleI0QRtcoBhDFMfCsaYQQsKW7m1IKmj0YxJhcLj95UQIOw6goy5bzJE0BkJrGv0l4jaGbc4EJGccRhuEiYLx5np1zxljwFWhtlgXAsiz/wGy+MsboaQJgrZ0mDdGDZ2/51gO7VsLdxgR3jBpGbUPdoG6FzdZhTGqt9ZY4EElw3smulZ2qiT0d3Onozp/g+uC3+wd19FFeTHpmlIJ4HsI4z8skydIsAw0hLfJczsvwspfBIxVhrVIiI6ZpTmi123H/XRk4iIN+noGfaPjLNE7TshmosJ7Xd8v5qINn7T/r4Gn+eNXB2/h1Np2yd/sDkEDBJGkq800AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Carregando recursos do service worker\"\n        title=\"\"\n        src=\"/static/cff5fa9b92de804e655ea669a53d4d9c/1e088/cra-pwa.png\"\n        srcset=\"/static/cff5fa9b92de804e655ea669a53d4d9c/65ed1/cra-pwa.png 210w,\n/static/cff5fa9b92de804e655ea669a53d4d9c/d10fb/cra-pwa.png 420w,\n/static/cff5fa9b92de804e655ea669a53d4d9c/1e088/cra-pwa.png 840w,\n/static/cff5fa9b92de804e655ea669a53d4d9c/d74fe/cra-pwa.png 1164w\"\n        sizes=\"(max-width: 840px) 100vw, 840px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n     </p>\n<p>As novas aplicações têm esses recursos automaticamente, mas você pode converter facilmente um projeto existente em uma Aplicação Web Progressiva seguindo <a href=\"https://github.com/facebookincubator/create-react-app/releases/tag/v1.0.0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">nosso guia de migração</a>.</p>\n<p>Adicionaremos <a href=\"https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#making-a-progressive-web-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mais documentação</a> sobre esse tópico nas próximas semanas. Por favor, fique à vontade para <a href=\"https://github.com/facebookincubator/create-react-app/issues/new\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">fazer qualquer pergunta</a> através das issues no repositório do projeto!</p>\n<h3 id=\"jest-20\"><a href=\"#jest-20\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Jest 20 </h3>\n<blockquote>\n<p><em>Esta mudança foi uma contribuição de <a href=\"https://github.com/rogeliog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rogeliog</a> em <a href=\"https://github.com/facebookincubator/create-react-app/pull/1614\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#1614</a> e <a href=\"https://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> in <a href=\"https://github.com/facebookincubator/create-react-app/pull/2171\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#2171</a>.</em></p>\n</blockquote>\n<p>Agora estamos usando a versão mais recente do Jest, que inclui inúmeras correções e melhorias. Você pode ler mais sobre as mudanças nas postagens <a href=\"https://facebook.github.io/jest/blog/2017/02/21/jest-19-immersive-watch-mode-test-platform-improvements.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Jest 19</a> e <a href=\"http://facebook.github.io/jest/blog/2017/05/06/jest-20-delightful-testing-multi-project-runner.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Jest 20</a>.</p>\n<p>Os destaques incluem um novo <a href=\"https://facebook.github.io/jest/blog/2017/02/21/jest-19-immersive-watch-mode-test-platform-improvements.html#immersive-watch-mode\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">modo de observação imersivo</a>, <a href=\"https://facebook.github.io/jest/blog/2017/02/21/jest-19-immersive-watch-mode-test-platform-improvements.html#snapshot-updates\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">um melhor formato de snapshot</a>, <a href=\"https://facebook.github.io/jest/blog/2017/02/21/jest-19-immersive-watch-mode-test-platform-improvements.html#improved-printing-of-skipped-tests\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">melhorias na impressão de testes ignorados</a>, e <a href=\"https://facebook.github.io/jest/blog/2017/05/06/jest-20-delightful-testing-multi-project-runner.html#new-improved-testing-apis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">novas APIs de teste</a>.</p>\n<p><img src=\"/bf7aa2c62ad1f43fca436bfb4d8b3a0f/cra-jest-search.gif\" alt=\"Observador de teste imersivo\"> </p>\n<p>Além disso, o Create React App agora suporta a configuração de algumas opções do Jest relacionadas aos relatórios de cobertura.</p>\n<h3 id=\"code-splitting-with-dynamic-import\"><a href=\"#code-splitting-with-dynamic-import\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Divisão de Código com import() Dinâmico </h3>\n<blockquote>\n<p><em>Esta mudança foi uma contribuição de <a href=\"https://github.com/Timer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@Timer</a> em <a href=\"https://github.com/facebookincubator/create-react-app/pull/1538\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#1538</a> e <a href=\"https://github.com/tharakawj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tharakawj</a> em <a href=\"https://github.com/facebookincubator/create-react-app/pull/1801\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#1801</a>.</em></p>\n</blockquote>\n<p>É importante manter a carga JavaScript inicial de aplicações web no mínimo e <a href=\"https://medium.com/@addyosmani/progressive-web-apps-with-react-js-part-2-page-load-performance-33b932d97cf2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">carregar o restante do código sob demanda</a>. Embora o Create React App seja compatível com <a href=\"https://webpack.js.org/guides/code-splitting-async/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">divisão de código</a> usando <code class=\"gatsby-code-text\">require.ensure()</code> desde a primeira versão, ele usou uma sintaxe específica do webpack que não funcionou no Jest ou em outros ambientes.</p>\n<p>Nesta versão, estamos adicionando suporte à proposta <a href=\"http://2ality.com/2017/01/import-operator.html#loading-code-on-demand\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">proposta de <code class=\"gatsby-code-text\">import()</code> dinâmico</a>, que está alinhada com o futuros padrões da web. Ao contrário do <code class=\"gatsby-code-text\">require.ensure()</code>, ele não quebra os testes do Jest e deve se tornar parte do JavaScript. Recomendamos que você use <code class=\"gatsby-code-text\">import()</code> para atrasar o carregamento do código para subárvores de componentes não críticos até que você precise renderizá-los.</p>\n<p><img src=\"/b967396662319e6aa6170dab232f0286/cra-dynamic-import.gif\" alt=\"Criando chunks com importação dinâmica\"></p>\n<h3 id=\"better-console-output\"><a href=\"#better-console-output\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Melhor Saída do Console </h3>\n<blockquote>\n<p><em>Esta mudança foi uma contribuição de <a href=\"https://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> em <a href=\"https://github.com/facebookincubator/create-react-app/pull/2120\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#2120</a>, <a href=\"https://github.com/facebookincubator/create-react-app/pull/2125\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#2125</a> e <a href=\"https://github.com/facebookincubator/create-react-app/pull/2161\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#2161</a>.</em></p>\n</blockquote>\n<p>Melhoramos a saída do console de maneira geral.</p>\n<p>Por exemplo, quando você inicia o servidor de desenvolvimento, agora exibimos o endereço da LAN adicionalmente ao endereço do servidor local, assim você pode facilmente acessar a aplicação a partir de um dispositivo móvel na mesma rede:</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5d3b4caf2ae115ca4ab1f15e6e19680d/00d43/cra-better-output.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 840px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 36.19047619047619%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAABYlAAAWJQFJUiTwAAABN0lEQVQY01VPzVKDMBDm5tRDIaFUsHTstCCEACEkgRaotQf7KJ6Finrwd3wAX9n1ULXfYWd3k+9nteeX2+7r4fHjqX/f3791/ef9/nUP6Nqubdu7f4CxOwDavu81dG6aE2SMDWQb2EF4gi13pBu6aZq6rg+HQ6gYYYTQ6WBwcgwtiRNvvogIpVEcRzFLMyUVIVFVVbDyfT8Mgjimec5ns5k1Hp8dYNu2Np1O11drEhGYXde1LIsQwrOMMSaVLAqVZXy3uwEVjDG8jg6AXgO91WolhGQsq+va87wwDIXIhRSc87IoQGW73dZVBTfALUdkIeVlEKQpC37iJVIpVRTgSyllabpYeCSK4AMHeaUgJvj/kVPGlstl09Q0pk3TbK43UMuyhDjgnOTigvE5zz2pfFU6jvNrDuRvXv9NRuVPEdMAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Melhor saída do console\"\n        title=\"\"\n        src=\"/static/5d3b4caf2ae115ca4ab1f15e6e19680d/1e088/cra-better-output.png\"\n        srcset=\"/static/5d3b4caf2ae115ca4ab1f15e6e19680d/65ed1/cra-better-output.png 210w,\n/static/5d3b4caf2ae115ca4ab1f15e6e19680d/d10fb/cra-better-output.png 420w,\n/static/5d3b4caf2ae115ca4ab1f15e6e19680d/1e088/cra-better-output.png 840w,\n/static/5d3b4caf2ae115ca4ab1f15e6e19680d/00d43/cra-better-output.png 1000w\"\n        sizes=\"(max-width: 840px) 100vw, 840px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p>Quando erros de lint são reportados, não mostramos mais os avisos para que você poossa se concentrar em problemas mais críticos. Erros e avisos no build de produção estão melhores formatados e o tamanho da fonte do overlay de erro do build agora corresponde com o tamanho de fonte mais próximo no browser.</p>\n<h3 id=\"but-wait-theres-more\"><a href=\"#but-wait-theres-more\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Mas espere… Há Mais! </h3>\n<p>Você não pode encaixar tudo em uma postagem de blog, mas há outros recursos solicitados há muito tempo nesta versão, como <a href=\"https://github.com/facebookincubator/create-react-app/pull/1344\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">arquivos <code class=\"gatsby-code-text\">.env</code> específicos de ambiente e locais</a>, <a href=\"https://github.com/facebookincubator/create-react-app/pull/2130\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">uma regra de lint contra globais com nomes confusos</a>, <a href=\"https://github.com/facebookincubator/create-react-app/pull/1790\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">suporte para vários proxies em desenvolvimento</a>, <a href=\"https://github.com/facebookincubator/create-react-app/pull/1590\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">um script de inicialização do navegador personalizável</a> e muitas correções de bugs.</p>\n<p>Você pode ler o registro de alterações completo e o guia de migração nas <a href=\"https://github.com/facebookincubator/create-react-app/releases/tag/v1.0.0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">notas da versão v1.0.0</a>.</p>\n<h3 id=\"acknowledgements\"><a href=\"#acknowledgements\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Agradecimentos </h3>\n<p>Está versão é o resultado de meses de trabalho de muitas pessoas da comunidade React. Ela tem como objetivo melhorar a experiência do desenvolvedor e do usuário, pois acreditamos que elas são complementares e andam de mãos dadas.</p>\n<p>Somos gratos a <a href=\"https://github.com/facebookincubator/create-react-app/graphs/contributors\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">todos que contribuíram</a>, seja com código, documentação, ou ajudando outras pessoas. Gostaríamos de agradecer especialmente <a href=\"https://github.com/timer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Joe Haddad</a> pela sua ajuda inestimável na manutenção do projeto. </p>\n<p>Estamos empolgados em trazer essas melhorias para todos que usam o Create React App, e estamos ansiosos por mais dos seus comentários e contribuições.</p>","excerpt":"A menos de um ano atrás, nós introduzimos Create React App como uma forma oficialmente apoiada de criar aplicações com zero configuração. Desde então, o projeto teve um enorme crescimento, com mais de 950 commits de mais de 250 contribuidores. Hoje, estamos entusiasmados em anunciar que muitos recursos que estiveram na pipeline dos últimos meses foram finalmente lançados. Como de costume com o Create React App, você pode aproveitar essas melhorias em suas aplicações não ejetadas existentes…","frontmatter":{"title":"Novidades no Create React App","next":null,"prev":null,"author":[{"frontmatter":{"name":"Dan Abramov","url":"https://twitter.com/dan_abramov"}}]},"fields":{"date":"18 de maio de 2017","path":"content/blog/2017-05-18-whats-new-in-create-react-app.md","slug":"/blog/2017/05/18/whats-new-in-create-react-app.html"}},"allMarkdownRemark":{"edges":[{"node":{"frontmatter":{"title":"React v17.0"},"fields":{"slug":"/blog/2020/10/20/react-v17.html"}}},{"node":{"frontmatter":{"title":"Apresentando o novo JSX Transform"},"fields":{"slug":"/blog/2020/09/22/introducing-the-new-jsx-transform.html"}}},{"node":{"frontmatter":{"title":"React v17.0 Candidato à lançamento: Sem novas funcionalidades"},"fields":{"slug":"/blog/2020/08/10/react-v17-rc.html"}}},{"node":{"frontmatter":{"title":"React v16.13.0"},"fields":{"slug":"/blog/2020/02/26/react-v16.13.0.html"}}},{"node":{"frontmatter":{"title":"Construindo Ótimas Experiências de Usuário com Modo Concorrente e Suspense"},"fields":{"slug":"/blog/2019/11/06/building-great-user-experiences-with-concurrent-mode-and-suspense.html"}}},{"node":{"frontmatter":{"title":"Preparando para o Futuro com as Prereleases React"},"fields":{"slug":"/blog/2019/10/22/react-release-channels.html"}}},{"node":{"frontmatter":{"title":"Apresentando o novo React DevTools"},"fields":{"slug":"/blog/2019/08/15/new-react-devtools.html"}}},{"node":{"frontmatter":{"title":"React v16.9.0 e a atualização do Roadmap"},"fields":{"slug":"/blog/2019/08/08/react-v16.9.0.html"}}},{"node":{"frontmatter":{"title":"O React já esta traduzido? ¡Sí! Sim! はい！"},"fields":{"slug":"/blog/2019/02/23/is-react-translated-yet.html"}}},{"node":{"frontmatter":{"title":"React v16.8: O React com Hooks"},"fields":{"slug":"/blog/2019/02/06/react-v16.8.0.html"}}}]}},"pageContext":{"slug":"/blog/2017/05/18/whats-new-in-create-react-app.html"}},"staticQueryHashes":[]}